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.1/gentoo/14_all_gcc-sparc64-bsd.patch
2 diff -durN gcc-4.3.1.orig/gcc/config/sparc/freebsd.h gcc-4.3.1/gcc/config/sparc/freebsd.h
3 --- gcc-4.3.1.orig/gcc/config/sparc/freebsd.h 2007-08-02 12:49:31.000000000 +0200
4 +++ gcc-4.3.1/gcc/config/sparc/freebsd.h 2008-06-10 14:57:54.000000000 +0200
6 /* FreeBSD needs the platform name (sparc64) defined.
7 Emacs needs to know if the arch is 64 or 32-bits. */
9 -#undef CPP_CPU64_DEFAULT_SPEC
10 -#define CPP_CPU64_DEFAULT_SPEC \
11 - "-D__sparc64__ -D__sparc_v9__ -D__sparcv9 -D__arch64__"
12 +#undef FBSD_TARGET_CPU_CPP_BUILTINS
13 +#define FBSD_TARGET_CPU_CPP_BUILTINS() \
16 + if (TARGET_ARCH64) \
18 + builtin_define ("__sparc64__"); \
19 + builtin_define ("__sparc_v9__"); \
20 + builtin_define ("__sparcv9"); \
23 + builtin_define ("__sparc"); \
24 + builtin_define ("__sparc__"); \
29 #define LINK_SPEC "%(link_arch) \
30 %{!mno-relax:%{!r:-relax}} \