Fix support for recent versions of GNU ld
PATCH 1/1 Fix support for recent versions of GNU ld
* aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Strip section .note.gnu.build-id created by the recent versions of GNU ld. It causes the test fail.
* genmk.rb: Strip .note.gnu.build-id in strip and objcopy calls.
---
ChangeLog | 7 ++++ aclocal.m4 | 2 + conf/common.mk | 74 +++++++++++++++++++++++----------------------- conf/i386-efi.mk | 14 ++++----- conf/i386-pc.mk | 50 ++++++++++++++++--------------- conf/powerpc-ieee1275.mk | 16 +++++----- conf/sparc64-ieee1275.mk | 62 +++++++++++++++++++-------------------- configure | 2 + genmk.rb | 4 +- 9 files changed, 119 insertions(+), 112 deletions(-)
ChangeLog +7 -0
@@ -1,3 +1,10 @@ +2007-10-29 Pavel Roskin <[email protected]> + + * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Strip section + .note.gnu.build-id created by the recent versions of GNU ld. + It causes the test fail. + * genmk.rb: Strip .note.gnu.build-id in strip and objcopy calls. + 2007-10-27 Robert Millan <[email protected]> * include/grub/types.h (ULONG_MAX): Define macro.
aclocal.m4 +1 -1
@@ -61,7 +61,7 @@ for link_addr in 2000 8000 7C00; do else AC_MSG_ERROR([${CC-cc} cannot link at address $link_addr]) fi - if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary conftest.exec conftest]); then : + if AC_TRY_COMMAND([${OBJCOPY-objcopy} -O binary -R .note.gnu.build-id conftest.exec conftest]); then : else AC_MSG_ERROR([${OBJCOPY-objcopy} cannot create binary files]) fi
conf/common.mk +37 -37
296 lines not on this page · raw message
conf/i386-efi.mk +7 -7
@@ -265,7 +265,7 @@ UNDSYMFILES += und-kernel.lst kernel.mod: pre-kernel.o mod-kernel.o -rm -f $@ $(TARGET_CC) $(kernel_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-kernel.o: $(kernel_mod_DEPENDENCIES) kernel_mod-kern_i386_efi_startup.o kernel_mod-kern_main.o kernel_mod-kern_device.o kernel_mod-kern_disk.o kernel_mod-kern_dl.o kernel_mod-kern_file.o kernel_mod-kern_fs.o kernel_mod-kern_err.o kernel_mod-kern_misc.o kernel_mod-kern_mm.o kernel_mod-kern_loader.o kernel_mod-kern_rescue.o kernel_mod-kern_term.o kernel_mod-kern_i386_dl.o kernel_mod-kern_i386_efi_init.o kernel_mod-kern_parser.o kernel_mod-kern_partition.o kernel_mod-kern_env.o kernel_mod-symlist.o kernel_mod-kern_efi_efi.o kernel_mod-kern_efi_init.o kernel_mod-kern_efi_mm.o kernel_mod-term_efi_console.o kernel_mod-disk_efi_efidisk.o -rm -f $@
@@ -682,7 +682,7 @@ UNDSYMFILES += und-normal.lst normal.mod: pre-normal.o mod-normal.o -rm -f $@ $(TARGET_CC) $(normal_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-normal.o: $(normal_mod_DEPENDENCIES) normal_mod-normal_arg.o normal_mod-normal_cmdline.o normal_mod-normal_command.o normal_mod-normal_completion.o normal_mod-normal_execute.o normal_mod-normal_function.o normal_mod-normal_lexer.o normal_mod-normal_main.o normal_mod-normal_menu.o normal_mod-normal_menu_entry.o normal_mod-normal_misc.o normal_mod-grub_script_tab.o normal_mod-normal_script.o normal_mod-normal_i386_setjmp.o -rm -f $@
@@ -930,7 +930,7 @@ UNDSYMFILES += und-_chain.lst _chain.mod: pre-_chain.o mod-_chain.o -rm -f $@ $(TARGET_CC) $(_chain_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-_chain.o: $(_chain_mod_DEPENDENCIES) _chain_mod-loader_efi_chainloader.o -rm -f $@
@@ -982,7 +982,7 @@ UNDSYMFILES += und-chain.lst chain.mod: pre-chain.o mod-chain.o -rm -f $@ $(TARGET_CC) $(chain_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-chain.o: $(chain_mod_DEPENDENCIES) chain_mod-loader_efi_chainloader_normal.o -rm -f $@
@@ -1034,7 +1034,7 @@ UNDSYMFILES += und-_linux.lst _linux.mod: pre-_linux.o mod-_linux.o -rm -f $@ $(TARGET_CC) $(_linux_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-_linux.o: $(_linux_mod_DEPENDENCIES) _linux_mod-loader_i386_efi_linux.o -rm -f $@
@@ -1086,7 +1086,7 @@ UNDSYMFILES += und-linux.lst linux.mod: pre-linux.o mod-linux.o -rm -f $@ $(TARGET_CC) $(linux_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-linux.o: $(linux_mod_DEPENDENCIES) linux_mod-loader_i386_efi_linux_normal.o -rm -f $@
@@ -1138,7 +1138,7 @@ UNDSYMFILES += und-cpuid.lst cpuid.mod: pre-cpuid.o mod-cpuid.o -rm -f $@ $(TARGET_CC) $(cpuid_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-cpuid.o: $(cpuid_mod_DEPENDENCIES) cpuid_mod-commands_i386_cpuid.o -rm -f $@
conf/i386-pc.mk +25 -25
200 lines not on this page · raw message
conf/powerpc-ieee1275.mk +8 -8
@@ -674,7 +674,7 @@ UNDSYMFILES += und-_linux.lst _linux.mod: pre-_linux.o mod-_linux.o -rm -f $@ $(TARGET_CC) $(_linux_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-_linux.o: $(_linux_mod_DEPENDENCIES) _linux_mod-loader_powerpc_ieee1275_linux.o -rm -f $@
@@ -726,7 +726,7 @@ UNDSYMFILES += und-linux.lst linux.mod: pre-linux.o mod-linux.o -rm -f $@ $(TARGET_CC) $(linux_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-linux.o: $(linux_mod_DEPENDENCIES) linux_mod-loader_powerpc_ieee1275_linux_normal.o -rm -f $@
@@ -783,7 +783,7 @@ UNDSYMFILES += und-normal.lst normal.mod: pre-normal.o mod-normal.o -rm -f $@ $(TARGET_CC) $(normal_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-normal.o: $(normal_mod_DEPENDENCIES) normal_mod-normal_arg.o normal_mod-normal_cmdline.o normal_mod-normal_command.o normal_mod-normal_completion.o normal_mod-normal_execute.o normal_mod-normal_function.o normal_mod-normal_lexer.o normal_mod-normal_main.o normal_mod-normal_menu.o normal_mod-normal_menu_entry.o normal_mod-normal_misc.o normal_mod-grub_script_tab.o normal_mod-normal_script.o normal_mod-normal_powerpc_setjmp.o -rm -f $@
@@ -1031,7 +1031,7 @@ UNDSYMFILES += und-suspend.lst suspend.mod: pre-suspend.o mod-suspend.o -rm -f $@ $(TARGET_CC) $(suspend_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-suspend.o: $(suspend_mod_DEPENDENCIES) suspend_mod-commands_ieee1275_suspend.o -rm -f $@
@@ -1083,7 +1083,7 @@ UNDSYMFILES += und-reboot.lst reboot.mod: pre-reboot.o mod-reboot.o -rm -f $@ $(TARGET_CC) $(reboot_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-reboot.o: $(reboot_mod_DEPENDENCIES) reboot_mod-commands_ieee1275_reboot.o -rm -f $@
@@ -1135,7 +1135,7 @@ UNDSYMFILES += und-halt.lst halt.mod: pre-halt.o mod-halt.o -rm -f $@ $(TARGET_CC) $(halt_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-halt.o: $(halt_mod_DEPENDENCIES) halt_mod-commands_ieee1275_halt.o -rm -f $@
@@ -1189,7 +1189,7 @@ UNDSYMFILES += und-_multiboot.lst _multiboot.mod: pre-_multiboot.o mod-_multiboot.o -rm -f $@ $(TARGET_CC) $(_multiboot_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-_multiboot.o: $(_multiboot_mod_DEPENDENCIES) _multiboot_mod-loader_powerpc_ieee1275_multiboot2.o _multiboot_mod-loader_multiboot2.o _multiboot_mod-loader_multiboot_loader.o -rm -f $@
@@ -1271,7 +1271,7 @@ UNDSYMFILES += und-multiboot.lst multiboot.mod: pre-multiboot.o mod-multiboot.o -rm -f $@ $(TARGET_CC) $(multiboot_mod_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ pre-multiboot.o: $(multiboot_mod_DEPENDENCIES) multiboot_mod-loader_multiboot_loader_normal.o -rm -f $@
conf/sparc64-ieee1275.mk +31 -31
248 lines not on this page · raw message
configure +1 -1
@@ -6046,7 +6046,7 @@ for link_addr in 2000 8000 7C00; do echo "$as_me: error: ${CC-cc} cannot link at address $link_addr" >&2;} { (exit 1); exit 1; }; } fi - if { ac_try='${OBJCOPY-objcopy} -O binary conftest.exec conftest' + if { ac_try='${OBJCOPY-objcopy} -O binary -R .note.gnu.build-id conftest.exec conftest' { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 (eval $ac_try) 2>&5 ac_status=$?
genmk.rb +2 -2
@@ -57,7 +57,7 @@ class Image MOSTLYCLEANFILES += #{deps_str} #{@name}: #{exe} - $(OBJCOPY) -O binary -R .note -R .comment $< $@ + $(OBJCOPY) -O binary -R .note -R .note.gnu.build-id -R .comment $< $@ #{exe}: #{objs_str} $(TARGET_CC) -o $@ $^ $(TARGET_LDFLAGS) $(#{prefix}_LDFLAGS)
@@ -115,7 +115,7 @@ UNDSYMFILES += #{undsym} #{@name}: #{pre_obj} #{mod_obj} -rm -f $@ $(TARGET_CC) $(#{prefix}_LDFLAGS) $(TARGET_LDFLAGS) -Wl,-r,-d -o $@ $^ - $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .comment $@ + $(STRIP) --strip-unneeded -K grub_mod_init -K grub_mod_fini -R .note -R .note.gnu.build-id -R .comment $@ #{pre_obj}: $(#{prefix}_DEPENDENCIES) #{objs_str} -rm -f $@
Quoted 3 lines · Pavel Roskin
* aclocal.m4 (
grub_PROG_OBJCOPY_ABSOLUTE): Strip section .note.gnu.build-id created by the recent versions of GNU ld. It causes the test fail.
Why does the test fail with new ld ? I don't see any strip command before the objcopy, so if it cope with all the other debugging symbols, why not this one?
Btw, next time please don't include auto-generated files in your patch ;-)
Signature · 5 lines
Robert Millan <GPLv2> I know my rights; I want my phone call! <DRM> What use is a phone call, if you are unable to speak? (as seen on /.)