Have the glibc build use the cross-objdump, rather than the host one.
On some distros (eg. Fedora), the native objdump can not interpret objects not for the native system, and thus fail.
This commit adds a new patch against glibc-2.7 that introduces OBJDUMP_FOR_HOST, wich, if set, overides the detected objdump.
Note: bizarely enough, glibc already has code to detect the cross-objdump, but that does not work for an unknown reason... :-(
/trunk/patches/glibc/2.7/220-objdump_for_host.patch | 13 13 0 0 +++++++++
/trunk/scripts/build/libc_glibc.sh | 37 21 16 0 +++++++++++++++------------
2 files changed, 34 insertions(+), 16 deletions(-)
1 Original patch from gentoo: gentoo/src/patchsets/gcc/4.3.0/gentoo/00_all_gcc-trampolinewarn.patch
2 This trivial patch causes gcc to emit a warning whenever
3 it generates a trampoline. These are otherwise hard to
4 locate. It is rigged to default ON - to have it default
5 to OFF remove the text 'Init(1)' from the common.opt
6 patch, leaving just 'Common Var(warn_trampolines)'.
7 Kevin F. Quinn <kevquinn@gentoo.org> 17 Jan 2006
9 diff -durN gcc-4.3.0.orig/gcc/builtins.c gcc-4.3.0/gcc/builtins.c
10 --- gcc-4.3.0.orig/gcc/builtins.c 2008-02-20 18:27:21.000000000 +0100
11 +++ gcc-4.3.0/gcc/builtins.c 2008-06-10 14:44:10.000000000 +0200
13 trampolines_created = 1;
14 INITIALIZE_TRAMPOLINE (r_tramp, r_func, r_chain);
16 + if (warn_trampolines)
17 + warning (OPT_Wtrampolines, "generating trampoline in object (requires executable stack)");
22 diff -durN gcc-4.3.0.orig/gcc/common.opt gcc-4.3.0/gcc/common.opt
23 --- gcc-4.3.0.orig/gcc/common.opt 2008-01-22 15:11:44.000000000 +0100
24 +++ gcc-4.3.0/gcc/common.opt 2008-06-10 14:44:10.000000000 +0200
26 Common Var(warn_system_headers) Warning
27 Do not suppress warnings from system headers
30 +Common Var(warn_trampolines) Init(1)
31 +Warn whenever a trampoline is generated
34 Common Var(warn_uninitialized) Warning
35 Warn about uninitialized automatic variables