Jonathan Nieder wrote: > eglibc does not build with ld.gold.
Quick update: with minor changes, it builds but the resulting ld.so segfaults[*]. Almost there. Regards, Jonathan [*] Roland McGrath did some work, available from upstream's roland/gold-vs-libc branch (currently at a9d20e3d). I also needed the following: -- 8< -- --- i/configure.in +++ w/configure.in @@ -1567,10 +1567,8 @@ changequote([,])dnl libc_cv_z_relro=no if AC_TRY_COMMAND([${CC-cc} -v --help 2>&1|grep "z relro" 1>&AS_MESSAGE_LOG_FD]) then - if AC_TRY_COMMAND([${CC-cc} -Wl,--verbose 2>&1|grep DATA_SEGMENT_RELRO_END 1>&AS_MESSAGE_LOG_FD]) - then - libc_cv_z_relro=yes - fi + # Assume the linker supports -z relro. Debian linkers do. + libc_cv_z_relro=yes fi]) if test "$libc_cv_z_relro" = no; then AC_MSG_ERROR(linker with -z relro support required) -- >8 -- That gets "configure" to work, but the build fails: | make[4]: Leaving directory `/home/jrn/src/glibc/time' | make[3]: Leaving directory `/home/jrn/src/glibc/elf' | make[2]: *** No rule to make target `/home/jrn/src/glibc/build/shlib.lds', needed by `/home/jrn/src/glibc/build/elf/sotruss-lib.so'. Stop. | make[2]: Leaving directory `/home/jrn/src/glibc/elf' | make[1]: *** [elf/subdir_lib] Error 2 | make[1]: Leaving directory `/home/jrn/src/glibc' | make: *** [all] Error 2 That's because the "use-default-link = yes" codepath is not well tested, since ld.bfd uses "use-default-link = no". Removing the dependencies $(objpfx)sotruss-lib.so: $(common-objpfx)shlib.lds $(common-objpfx)linkobj/libc.so: $(common-objpfx)shlib.lds gets past that hurdle. Unfortunately it does not succeed at the moment of truth: | CPP='gcc -E -x c-header' /home/jrn/src/glibc/build/elf/ld-linux-x86-64.so.2 --library-path /home/jrn/src/glibc/build:/home/jrn/src/glibc/build/math:/home/jrn/src/glibc/build/elf:/home/jrn/src/glibc/build/dlfcn:/home/jrn/src/glibc/build/nss:/home/jrn/src/glibc/build/nis:/home/jrn/src/glibc/build/rt:/home/jrn/src/glibc/build/resolv:/home/jrn/src/glibc/build/crypt:/home/jrn/src/glibc/build/nptl /home/jrn/src/glibc/build/sunrpc/rpcgen -Y ../scripts -c rpcsvc/bootparam_prot.x -o /home/jrn/src/glibc/build/sunrpc/xbootparam_prot.T | Segmentation fault (core dumped) | make[2]: *** [/home/jrn/src/glibc/build/sunrpc/xbootparam_prot.stmp] Error 139 The backtrace from a core dump is not very helpful. | #0 0xffffffffffffffff in ?? () | #1 0x00002b3feb7a317e in call_init (env=0x7ffffdb60ae0, argv=0x7ffffdb60aa0, argc=7, l=<optimized out>) | at dl-init.c:85 | #2 call_init (l=<optimized out>, argc=7, argv=0x7ffffdb60aa0, env=0x7ffffdb60ae0) at dl-init.c:35 | #3 0x00002b3feb7a3266 in _dl_init (main_map=0x2b3feb7b91f8, argc=7, argv=0x7ffffdb60aa0, env=0x7ffffdb60ae0) | at dl-init.c:134 | #4 0x00002b3feb796b3a in _dl_start_user () from /home/jrn/src/glibc/build/elf/ld-linux-x86-64.so.2 | #5 0x00007ffffdb61943 in ?? () | #6 0x0000000000000007 in ?? () | #7 0x00007ffffdb61a82 in ?? () | #8 0x00007ffffdb61aaa in ?? () | #9 0x00007ffffdb61aad in ?? () | #10 0x00007ffffdb61ab8 in ?? () | #11 0x00007ffffdb61abb in ?? () | #12 0x00007ffffdb61ad3 in ?? () | #13 0x00007ffffdb61ad6 in ?? () | #14 0x0000000000000000 in ?? () -- To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org Archive: http://lists.debian.org/20110707215356.GA15205@elie