Current binutils failed to build glibc

H. J. Lu hjl@lucon.org
Sat Oct 2 00:45:00 GMT 2004


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.



More information about the Libc-alpha mailing list