This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Current binutils failed to build glibc
On Fri, Oct 01, 2004 at 05:35:31PM -0700, Roland McGrath wrote:
> > This patch seems to work.
>
> Can you explain why it is needed?
errno.os in libc_pic.a with nptl enabled glibc has
[hjl@gnu-10 build-i686-linux]$ readelf -s csu/errno.os | grep errno
1: 00000000 0 FILE LOCAL DEFAULT ABS errno.c
17: 00000000 4 TLS GLOBAL HIDDEN 8 __libc_errno
18: 00000000 4 TLS GLOBAL DEFAULT 8 errno
But ld.so doesn't use TLS on errno. With the current linker, I got
gcc -nostdlib -nostartfiles -r -o
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/librtld.map.o
'-Wl,-('
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/dl-allobjs.os
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/libc_pic.a -lgcc
'-Wl,-)'
-Wl,-Map,/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/librtld.mapT
/usr/local/bin/ld: errno: TLS definition in
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/libc_pic.a(errno.os)
section .tbss mismatches non-TLS reference in
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/dl-allobjs.os
/export/build/gnu/glibc-nptl-3.4/build-i686-linux/libc_pic.a: could not
read symbols: Bad value
collect2: ld returned 1 exit status
make[4]: ***
[/export/build/gnu/glibc-nptl-3.4/build-i686-linux/elf/librtld.map]
Error 1
make[4]: Leaving directory `/net/gnu/export/gnu/src/glibc/libc/elf'
make[3]: *** [elf/subdir_lib] Error 2
make[3]: Leaving directory `/net/gnu/export/gnu/src/glibc/libc'
make[2]: *** [all] Error 2
H.J.