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(-)
2 elf/librtld.os: In function `process_envvars': : undefined reference to `__access'
4 when building glibc-2.3.3 on cygwin
7 http://sources.redhat.com/ml/bug-glibc/2002-01/msg00071/glibc-2.2-cygin-shared.patch
8 Basically, make glibc use .oST as suffix for 'object static'
9 instead of .oS, since cygwin has trouble distinguishing .os from .oS
10 (Original patch had .on, but .oST is more mnemonic for 'object static')
12 glibc-linuxthreads-2.3.3 also requires a patch, see
13 ../glibc-linuxthreads-2.3.3/glibc-linuxthreads-2.3.3-cygwin.patch
15 [ rediffed against glibc-2.3.5 ]
17 diff -aur glibc-2.3.5/linuxthreads/Makefile glibc-2.3.5-cygwin/linuxthreads/Makefile
18 --- glibc-2.3.5/linuxthreads/Makefile 2005-02-16 12:26:38.000000000 +0100
19 +++ glibc-2.3.5-cygwin/linuxthreads/Makefile 2005-05-11 08:32:50.453125000 +0200
21 install: $(inst_libdir)/libpthread.so
22 $(inst_libdir)/libpthread.so: $(common-objpfx)format.lds \
23 $(objpfx)libpthread.so$(libpthread.so-version) \
24 - $(inst_libdir)/$(patsubst %,$(libtype.oS),\
25 + $(inst_libdir)/$(patsubst %,$(libtype.oST),\
26 $(libprefix)pthread) \
28 (echo '/* GNU ld script';\
30 echo ' the static library, so try that secondarily. */';\
32 echo 'GROUP ( $(slibdir)/libpthread.so$(libpthread.so-version)' \
33 - '$(libdir)/$(patsubst %,$(libtype.oS),$(libprefix)pthread)'\
34 + '$(libdir)/$(patsubst %,$(libtype.oST),$(libprefix)pthread)'\