mirror of
https://github.com/ibm-s390-linux/s390-tools.git
synced 2026-08-05 02:14:52 +00:00
genprotimg/boot: Makefile: simplify objcopy command
Instead of maintaining an include list, use an exclude list (if neccessary). This simplifies the `objcopy` calls a lot, and it's possible because `objcopy -O binary` only includes the memory dump of the contents of the input object file. [1] This means that sections like for debug information that do not occupy memory during the process execution are discarded by design. [2] In addition, if we do not want a particular ELF section, we can list it in the discard section of the linker script. [1] https://man7.org/linux/man-pages/man1/objcopy.1.html [2] https://man7.org/linux/man-pages/man5/elf.5.html Reviewed-by: Steffen Eiden <seiden@linux.ibm.com> Signed-off-by: Marc Hartmayer <mhartmay@linux.ibm.com> Signed-off-by: Jan Höppner <hoeppner@linux.ibm.com>
This commit is contained in:
committed by
Jan Höppner
parent
43967feb2c
commit
6097ee3f9d
@@ -82,14 +82,8 @@ stage3b_reloc.elf:
|
||||
$(LINK) $$SFLAGS $(NO_PIE_LDFLAGS) $(NO_WARN_RWX_SEGMENTS_LDFLAGS) -Wl,--build-id=none -m64 -static -nostdlib $(filter %.o, $^) -o $@
|
||||
@chmod a-x $@
|
||||
|
||||
%.bin: %.elf
|
||||
$(OBJCOPY) -O binary \
|
||||
--only-section=.text* \
|
||||
--only-section=.ex_table* \
|
||||
--only-section=.fixup* \
|
||||
--only-section=.data* \
|
||||
--only-section=.rodata* \
|
||||
$< $@
|
||||
%.bin: %.elf
|
||||
$(OBJCOPY) -O binary $< $@
|
||||
@chmod a-x $@
|
||||
|
||||
clean:
|
||||
|
||||
Reference in New Issue
Block a user