On 2007-03-19 12:05 +0100, Hector Oron wrote: > Hello Lennert, > > >Are you cross-building? What gcc version are you using? > > Yes, i am cross building. > > I have been using arm-crosstool-linux-gnueabi from Martin Guy.
The point about the full debian cross-bootstrap procedure (http://www.emdebian.org/docs/slind-toolchain.html) is that you don't need a cross-compiler at this point - you are just building glibc bootstrap headers, which the native compiler should be able to do. > The problem was that I set CC and BUILD_CC to take that > cross-compiler, and it took regular debian's gcc. I resolved this > issue removing gcc symlink and point to the cross-compiler. Having removed this hack I now get a complaint about TLS too (and the kernel headers version): if test -r /home/wookey/armel/glibc-2.5/build-tree/armel-libc/csu/abi-tag.h.new; then mv -f /home/wookey/armel/glibc-2.5/build-tree/armel-libc/csu/abi-tag.h.new /home/wookey/armel/glibc-2.5/build-tree/armel-libc/csu/abi-tag.h; \ else echo >&2 'This configuration not matched in ../abi-tags'; exit 1; fi gawk -f ../scripts/gen-as-const.awk ../ports/sysdeps/arm/eabi/rtld-global-offsets.sym \ | gcc -S -o /home/wookey/armel/glibc-2.5/build-tree/armel-libc/rtld-global-offsets.hT3 -std=gnu99 -O2 -Wall -Winline -Wwrite-strings -fmerge-all-constants -fstrict-aliasing -g -pipe -Wstrict-prototypes -I../include -I/home/wookey/armel/glibc-2.5/build-tree/armel-libc/csu -I/home/wookey/armel/glibc-2.5/build-tree/armel-libc -I../ports/sysdeps/arm/elf -I../ports/sysdeps/unix/sysv/linux/arm/eabi/nptl -I../ports/sysdeps/unix/sysv/linux/arm/eabi -I../ports/sysdeps/unix/sysv/linux/arm/nptl -I../ports/sysdeps/unix/sysv/linux/arm -I../ports/sysdeps/unix/sysv/linux -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../ports/sysdeps/unix/sysv -I../nptl/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../ports/sysdeps/unix/arm -I../ports/sysdeps/unix -I../nptl/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../ports/sysdeps/arm/eabi -I../ports/sysdeps/arm/fpu -I../ports/sysdeps/arm/nptl -I../ports/sysdeps/arm -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../ports -I../nptl -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/i486-linux-gnu/4.1.2/include -isystem /home/wookey/armel/glibc-2.5/debian/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DHAVE_INITFINI -x c - \ -MD -MP -MF /home/wookey/armel/glibc-2.5/build-tree/armel-libc/rtld-global-offsets.h.dT -MT '/home/wookey/armel/glibc-2.5/build-tree/armel-libc/rtld-global-offsets.h.d /home/wookey/armel/glibc-2.5/build-tree/armel-libc/rtld-global-offsets.h' In file included from ../include/tls.h:6, from ../include/link.h:45, from ../include/dlfcn.h:3, from ../sysdeps/generic/ldsodefs.h:32, from ../ports/sysdeps/arm/ldsodefs.h:39, from ../sysdeps/unix/sysv/linux/ldsodefs.h:25, from <stdin>:2: ../ports/sysdeps/arm/nptl/tls.h:48:3: error: #error "TLS support is required." In file included from ../ports/sysdeps/arm/nptl/tls.h:57, from ../include/tls.h:6, from ../include/link.h:45, from ../include/dlfcn.h:3, from ../sysdeps/generic/ldsodefs.h:32, from ../ports/sysdeps/arm/ldsodefs.h:39, from ../sysdeps/unix/sysv/linux/ldsodefs.h:25, from <stdin>:2: ../ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h:29:3: error: #error Kernel headers are too old make[3]: *** [/home/wookey/armel/glibc-2.5/build-tree/armel-libc/rtld-global-offsets.h] Error 1 make[3]: Leaving directory /home/wookey/armel/glibc-2.5/build-tree/glibc-2.5/csu' make[2]: *** [csu/subdir_lib] Error 2 make[2]: Leaving directory /home/wookey/armel/glibc-2.5/build-tree/glibc-2.5' make[1]: *** [all] Error 2 make[1]: Leaving directory /home/wookey/armel/glibc-2.5/build-tree/armel-libc' further back in the log we have: checking for ARM TLS support... no Is that bad? And: checking for kernel header at least 2.6.14... ok There are a great number of 'kernel headers are too old' The whole log is here: http://www.emdebian.org/files/log-build-arm-linux-gnueabi-libc Which kernel headers version is it talking about here? I presume not the ones in /usr/arm-linux-gnueabi, but either those in /usr/linux or the ones included in the libc sources? ports/sysdeps/unix/sysv/linux/arm/eabi/sysdep.h includes <arm/sysdep.h> which I guess is referring to ports/sysdeps/arm/sysdeps.h (right?) The check is: #if __NR_SYSCALL_BASE != 0 # error Kernel headers are too old #endif and __NR_SYSCALL_BASE is defined in /usr/arm-linux-gnueabi/include/asm/unistd.h but not in /usr/inlcude/asm/unistd.h (because those or i386/amd64) so the problem appears to be one of not finding the right kernel headers. Do we have a glibc-expert who can say where it should be looking (in /usr or in glibc sources), and why it might not be finding the right thing? I have not actually looked at how the glibc bootstrap header process works before, or the particular debian config version of it. Wookey -- Principal hats: Balloonz - Toby Churchill - Aleph One - Debian http://wookware.org/ -- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

