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 We know that the kernel headers are in place. Don't try to install them.
3 diff -dur uClibc-0.9.28.1.orig/Makefile uClibc-0.9.28.1/Makefile
4 --- uClibc-0.9.28.1.orig/Makefile 2007-01-28 06:38:00.000000000 +0100
5 +++ uClibc-0.9.28.1/Makefile 2007-01-28 18:55:46.000000000 +0100
7 $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)lib
8 $(INSTALL) -d $(PREFIX)$(DEVEL_PREFIX)include
9 -$(INSTALL) -m 644 lib/*.[ao] $(PREFIX)$(DEVEL_PREFIX)lib/
10 - if [ "$(KERNEL_SOURCE)" = "$(DEVEL_PREFIX)" ] ; then \
11 - extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
13 - extra_exclude="" ; \
15 - tar -chf - include --exclude .svn --exclude CVS $$extra_exclude \
16 + extra_exclude="--exclude include/linux --exclude include/asm'*'" ; \
17 + tar -chf - include --exclude .svn --exclude CVS \
18 + --exclude include/linux \
19 + --exclude include/asm'*' \
20 | tar -xf - -C $(PREFIX)$(DEVEL_PREFIX)
21 echo '/* Dont use _syscall#() macros; use the syscall() function */' > \
22 $(PREFIX)$(DEVEL_PREFIX)include/bits/syscalls.h