problem cross compiling dietlibc cvs on arm eabi

[email protected] Fri, 4 Apr 2014 14:41:52 +0200 (CEST)
Newsgroups gmane.linux.lib.dietlibc
Message-ID <1612321035.244725.1396615312468.JavaMail.ngmail@webmail14.arcor-online.net>
Hi,

I've just read your last post about dietlibc vs unstable, in particular the TLS part:
on arm eabi I'm getting the following error:

...
touch dummy.c
arm-926ejs-linux-gnueabi-gcc -D__dietlibc__ -c dummy.c
arm-926ejs-linux-gnueabi-ar cru bin-arm/libcrypt.a dummy.o
rm -f dummy.c dummy.o
arm-926ejs-linux-gnueabi-gcc -D__dietlibc__ -isystem include -pipe -nostdinc -D_REENTRANT -O2 -msoft-float -mabi=aapcs-linux -march=armv5te -mtune=arm926ej-s -mcpu=arm926ej-s -O2 -fomit-frame-pointer -fstrict-aliasing -W -Wall -Wextra -Wchar-subscripts -Wmissing-prototypes -Wmissing-declarations -Wno-switch -Wno-unused -Wredundant-decls -Wshadow -nostdlib -o bin-arm/diet bin-arm/start.o bin-arm/dyn_start.o diet.c bin-arm/dietlibc.a bin-arm/dyn_stop.o -DDIETHOME=\"/opt/home/giorgio/projects/itenter_userland/source-base/dietlibc/work/dietlibc-0.32.2.4\" -DVERSION=\"dietlibc-0.34\" -lgcc
/opt/OSELAS.Toolchain-1.99.3.7/arm-926ejs-linux-gnueabi/gcc-4.6.3-glibc-2.13.1-binutils-2.22-kernel-3.3.0-sanitized/bin/../lib/gcc/arm-926ejs-linux-gnueabi/4.6.3/../../../../arm-926ejs-linux-gnueabi/bin/ld: errno: TLS definition in bin-arm/dietlibc.a(errno.o) section .tbss mismatches non-TLS reference in bin-arm/dietlibc.a(unified.o)
bin-arm/dietlibc.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
Makefile:316: recipe for target 'bin-arm/diet' failed
make[1]: *** [bin-arm/diet] Error 1
make[1]: Leaving directory '/opt/home/giorgio/projects/itenter_userland/source-base/dietlibc/work/dietlibc-0.32.2.4'
Makefile:33: recipe for target 'done/build_target' failed
make: *** [done/build_target] Error 2

my intuition says me that the 'arm/unified.S' implementation is not OK in the case when __ARM_EABI__ is defined
because the cpp variable WANT_THREAD_SAFE is not present at all, but I'm not sure how to fix it.

giorgio


Giorgio, [email protected]