Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date: Sun, 17 Jul 2011 02:11:57 +0400
From: Solar Designer <solar@...nwall.com>
To: owl-dev@...ts.openwall.com
Subject: Re: binutils ld internal error when building glibc 2.14

On Sun, Jul 17, 2011 at 02:02:31AM +0400, Solar Designer wrote:
> Just to have this documented - apparently, we'll need to update binutils
> right after our gcc update, before we're able to update glibc.  When
> building glibc 2.14 on an Owl-current'ish system with gcc 4.5.0 (custom
> build I made a year ago), it failed with:
> 
> /usr/bin/ld: BFD (Linux/GNU Binutils) 2.20.51.0.11.20100810 internal error, aborting at ../../bfd/elf64-x86-64.c line 2772 in elf64_x86_64_relocate_section
[...]
> 398.00user 85.72system 1:46.15elapsed 455%CPU (0avgtext+0avgdata 402944maxresident)k
> 0inputs+0outputs (10major+23064681minor)pagefaults 0swaps

glibc 2.13 gets past this point:

gcc -pie -Wl,-O1 -nostdlib -nostartfiles -o /tmp/.private/solar/glibc-2.13/build/nscd/nscd  -Wl,-dynamic-linker=/tmp/.private/solar/glibc-2.13-inst/lib/ld-linux-x86-64.so.2   -Wl,-z,combreloc -Wl,-z,relro -Wl,-z,now -Wl,--hash-style=both /tmp/.private/solar/glibc-2.13/build/csu/Scrt1.o /tmp/.private/solar/glibc-2.13/build/csu/crti.o `gcc  --print-file-name=crtbeginS.o` /tmp/.private/solar/glibc-2.13/build/nscd/nscd.o /tmp/.private/solar/glibc-2.13/build/nscd/connections.o /tmp/.private/solar/glibc-2.13/build/nscd/pwdcache.o /tmp/.private/solar/glibc-2.13/build/nscd/getpwnam_r.o /tmp/.private/solar/glibc-2.13/build/nscd/getpwuid_r.o /tmp/.private/solar/glibc-2.13/build/nscd/grpcache.o /tmp/.private/solar/glibc-2.13/build/nscd/getgrnam_r.o /tmp/.private/solar/glibc-2.13/build/nscd/getgrgid_r.o /tmp/.private/solar/glibc-2.13/build/nscd/hstcache.o /tmp/.private/solar/glibc-2.13/build/nscd/gethstbyad_r.o /tmp/.private/solar/glibc-2.13/build/nscd/gethstbynm3_r.o /tmp/.private/solar/glibc-2.13/build/nscd/getsrvbynm_r.o /tmp/.private/solar/glibc-2.13/build/nscd/getsrvbypt_r.o /tmp/.private/solar/glibc-2.13/build/nscd/servicescache.o /tmp/.private/solar/glibc-2.13/build/nscd/dbg_log.o /tmp/.private/solar/glibc-2.13/build/nscd/nscd_conf.o /tmp/.private/solar/glibc-2.13/build/nscd/nscd_stat.o /tmp/.private/solar/glibc-2.13/build/nscd/cache.o /tmp/.private/solar/glibc-2.13/build/nscd/mem.o /tmp/.private/solar/glibc-2.13/build/nscd/nscd_setup_thread.o /tmp/.private/solar/glibc-2.13/build/nscd/xmalloc.o /tmp/.private/solar/glibc-2.13/build/nscd/xstrdup.o /tmp/.private/solar/glibc-2.13/build/nscd/aicache.o /tmp/.private/solar/glibc-2.13/build/nscd/initgrcache.o /tmp/.private/solar/glibc-2.13/build/nscd/gai.o /tmp/.private/solar/glibc-2.13/build/nscd/res_hconf.o /tmp/.private/solar/glibc-2.13/build/rt/librt.so /tmp/.private/solar/glibc-2.13/build/nptl/libpthread_nonshared.a /tmp/.private/solar/glibc-2.13/build/nptl/libpthread.so /tmp/.private/solar/glibc-2.13/build/nis/libnsl.so  -Wl,-rpath-link=/tmp/.private/solar/glibc-2.13/build:/tmp/.private/solar/glibc-2.13/build/math:/tmp/.private/solar/glibc-2.13/build/elf:/tmp/.private/solar/glibc-2.13/build/dlfcn:/tmp/.private/solar/glibc-2.13/build/nss:/tmp/.private/solar/glibc-2.13/build/nis:/tmp/.private/solar/glibc-2.13/build/rt:/tmp/.private/solar/glibc-2.13/build/resolv:/tmp/.private/solar/glibc-2.13/build/crypt:/tmp/.private/solar/glibc-2.13/build/nptl /tmp/.private/solar/glibc-2.13/build/libc.so.6 /tmp/.private/solar/glibc-2.13/build/libc_nonshared.a -Wl,--as-needed /tmp/.private/solar/glibc-2.13/build/elf/ld.so -Wl,--no-as-needed -lgcc -Wl,--as-needed -lgcc_s  -Wl,--no-as-needed `gcc  --print-file-name=crtendS.o` /tmp/.private/solar/glibc-2.13/build/csu/crtn.o
/tmp/.private/solar/glibc-2.13/build/nscd/nscd.o: In function `nscd_open_socket':
/tmp/.private/solar/glibc-2.13/nscd/nscd.c:442: undefined reference to `__stack_chk_guard'
/tmp/.private/solar/glibc-2.13/build/nscd/nscd.o: In function `parse_opt':
/tmp/.private/solar/glibc-2.13/nscd/nscd.c:291: undefined reference to `__stack_chk_guard'
/tmp/.private/solar/glibc-2.13/build/nscd/connections.o: In function `restart':
/tmp/.private/solar/glibc-2.13/nscd/connections.c:1305: undefined reference to `__stack_chk_guard'
/tmp/.private/solar/glibc-2.13/nscd/connections.c:1460: undefined reference to `__stack_chk_guard'
/tmp/.private/solar/glibc-2.13/build/nscd/connections.o: In function `main_loop_epoll':
/tmp/.private/solar/glibc-2.13/nscd/connections.c:2004: undefined reference to `__stack_chk_guard'
/tmp/.private/solar/glibc-2.13/build/nscd/connections.o:/tmp/.private/solar/glibc-2.13/nscd/connections.c:1794: more undefined references to `__stack_chk_guard' follow
collect2: ld returned 1 exit status
make[2]: *** [/tmp/.private/solar/glibc-2.13/build/nscd/nscd] Error 1
make[2]: Leaving directory `/tmp/.private/solar/glibc-2.13/nscd'
make[1]: *** [nscd/others] Error 2
make[1]: Leaving directory `/tmp/.private/solar/glibc-2.13'
make: *** [all] Error 2
Command exited with non-zero status 2
680.58user 127.12system 3:17.10elapsed 409%CPU (0avgtext+0avgdata 400896maxresident)k
0inputs+0outputs (0major+35016378minor)pagefaults 0swaps

Anyway, we'll revisit this later.  I hope we can get the gcc update in
first, without upgrading glibc at the exact same time.

Alexander

Powered by blists - more mailing lists

Your e-mail address:

Powered by Openwall GNU/*/Linux - Powered by OpenVZ