This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: a question about compiling nptl in glibc


On Tue, Mar 25, 2003 at 01:27:33PM +0800, Hu, Boris wrote:
> 
> I could cross-compiled glibc-2.3.2 with glibc-linuxthreads-2.3.2
> with the target arm-linux using Daniel's patches.
> 
> However, when adding my nptl arm patch(with the same patch, 
> I could get the libpthread.a in one glibc version), the glibc makefile 
> seems not to compile nptl. 
> 
> any hints/pointers?  thanks a lot.  
> 
> $ pwd 
> /boris/toolchain/glibc-2.3.2/sea2
> 
> $ ../configure arm-linux --prefix=/tmp/install --enable-add-ons=nptl 
> --without-tls --without-__thread  --build=i686-pc-linux-gnu
> 
> $ make 
> ......
> arm-linux-gcc   -shared -static-libgcc -Wl,-O1  -Wl,-z,defs -Wl,-dynamic-linker=/tmp/install/lib/ld-linux.so.2  -B/boris/toolchain/glibc-2.3.2/sea2/csu/  -Wl,--version-script=/boris/toolchain/glibc-2.3.2/sea2/libc.map -Wl,-soname=libc.so.6 -Wl,-z,combreloc -nostdlib -nostartfiles -e __libc_main -u __register_frame -L/boris/toolchain/glibc-2.3.2/sea2 -L/boris/toolchain/glibc-2.3.2/sea2/math -L/boris/toolchain/glibc-2.3.2/sea2/elf -L/boris/toolchain/glibc-2.3.2/sea2/dlfcn -L/boris/toolchain/glibc-2.3.2/sea2/nss -L/boris/toolchain/glibc-2.3.2/sea2/nis -L/boris/toolchain/glibc-2.3.2/sea2/rt -L/boris/toolchain/glibc-2.3.2/sea2/resolv -L/boris/toolchain/glibc-2.3.2/sea2/crypt -L/boris/toolchain/glibc-2.3.2/sea2/nptl -Wl,-rpath-link=/boris/toolchain/glibc-2.3.2/sea2:/boris/toolchain/glibc-2.3.2/sea2/math:/boris/toolchain/glibc-2.3.2/sea2/elf:/boris/toolchain/glibc-2.3.2/sea2/dlfcn:/boris/toolchain/glibc-2.3.2/sea2/nss:/boris/toolchain/glibc-2.3.2/sea2/nis:/boris/toolchain/glibc-2.3.2/sea2/rt:/boris/toolchain/glibc-2.3.2/sea2/resolv:/boris/toolchain/glibc-2.3.2/sea2/crypt:/boris/toolchain/glibc-2.3.2/sea2/nptl -o /boris/toolchain/glibc-2.3.2/sea2/libc.so -T /boris/toolchain/glibc-2.3.2/sea2/libc.so.lds /boris/toolchain/glibc-2.3.2/sea2/csu/abi-note.o /boris/toolchain/glibc-2.3.2/sea2/elf/soinit.os /boris/toolchain/glibc-2.3.2/sea2/libc_pic.os /boris/toolchain/glibc-2.3.2/sea2/elf/sofini.os /boris/toolchain/glibc-2.3.2/sea2/elf/interp.os /boris/toolchain/glibc-2.3.2/sea2/elf/ld.so -lgcc
> /boris/toolchain/glibc-2.3.2/sea2/libc_pic.os(.text+0x1453c): In function `*__GI___sigsuspend':
> ../sysdeps/unix/sysv/linux/sigsuspend.c:93: undefined reference to `__libc_multiple_threads'
> .....
> collect2: ld returned 1 exit status
> make[1]: *** [/boris/toolchain/glibc-2.3.2/sea2/libc.so] Error 1
> make[1]: Leaving directory `/boris/toolchain/glibc-2.3.2'
> make: *** [all] Error 2

Whatever patch you're using is probably broken.  However, the line
above doesn't make any sense.  It is not possible to build NPTL without
both TLS and __thread.

Unless someone at Intel's done it and not talked about it, binutils,
gcc, and probably the kernel all need to be updated for ARM TLS
support.

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]