Bug 21674 - gold: "make check" failures in glibc
Summary: gold: "make check" failures in glibc
Status: NEW
Alias: None
Product: binutils
Classification: Unclassified
Component: gold (show other bugs)
Version: 2.29
: P2 normal
Target Milestone: ---
Assignee: Cary Coutant
URL:
Keywords:
: 22011 (view as bug list)
Depends on:
Blocks:
 
Reported: 2017-06-26 12:39 UTC by H.J. Lu
Modified: 2017-08-26 05:38 UTC (History)
2 users (show)

See Also:
Host:
Target: x86-64, i386
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2017-06-26 12:39:25 UTC
hjl/pr14995 branch:

https://sourceware.org/git/?p=glibc.git;a=shortlog;h=refs/heads/hjl/pr14995

allows gold to be used to build glibc.  For "make check" on x86-64, I got

Error in `/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1': double free or corruption (fasttop): 0x00000000008755f0 ***
======= Backtrace: =========
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x772fb)[0x7f85225b52fb]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x7d6c6)[0x7f85225bb6c6]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x7df0e)[0x7f85225bbf0e]
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(+0x182d)[0x7f85226e682d]
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(dlclose+0x1f)[0x7f85226e623f]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so(+0x933)[0x7f8522539933]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0xfd1a)[0x7f85226fbd1a]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x3c5e0)[0x7f852257a5e0]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(+0x3c63a)[0x7f852257a63a]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so(+0x9aa)[0x7f85225399aa]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0xf74a)[0x7f85226fb74a]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0xf85b)[0x7f85226fb85b]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0x13e98)[0x7f85226ffe98]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(_dl_catch_error+0x71)[0x7f85226643c1]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so(+0x13639)[0x7f85226ff639]
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(+0x1156)[0x7f85226e6156]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(_dl_catch_error+0x71)[0x7f85226643c1]
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(+0x1789)[0x7f85226e6789]
/export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so.2(dlopen+0x32)[0x7f85226e61e2]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1[0x4009ca]
/export/build/gnu/glibc-gold/build-x86_64-linux/libc.so.6(__libc_start_main+0xf1)[0x7f8522565231]
/export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1[0x400a5a]
======= Memory map: ========
00400000-00401000 r-xp 00000000 08:11 26334965                           /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1
00401000-00402000 r--p 00000000 08:11 26334965                           /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1
00402000-00403000 rw-p 00001000 08:11 26334965                           /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload1
00875000-00896000 rw-p 00000000 00:00 0                                  [heap]
7f851c000000-7f851c021000 rw-p 00000000 00:00 0
7f851c021000-7f8520000000 ---p 00000000 00:00 0
7f85222f3000-7f8522309000 r-xp 00000000 08:02 136658                     /usr/lib64/libgcc_s-6.3.1-20170216.so.1
7f8522309000-7f8522508000 ---p 00016000 08:02 136658                     /usr/lib64/libgcc_s-6.3.1-20170216.so.1
7f8522508000-7f8522509000 r--p 00015000 08:02 136658                     /usr/lib64/libgcc_s-6.3.1-20170216.so.1
7f8522509000-7f852250a000 rw-p 00016000 08:02 136658                     /usr/lib64/libgcc_s-6.3.1-20170216.so.1
7f8522539000-7f852253a000 r-xp 00000000 08:11 26334619                   /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so
7f852253a000-7f852253b000 r--p 00000000 08:11 26334619                   /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so
7f852253b000-7f852253c000 rw-p 00001000 08:11 26334619                   /export/build/gnu/glibc-gold/build-x86_64-linux/elf/constload2.so
7f852253c000-7f852253e000 rw-p 00000000 00:00 0
7f852253e000-7f85226da000 r-xp 00000000 08:11 26309973                   /export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
7f85226da000-7f85226db000 ---p 0019c000 08:11 26309973                   /export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
7f85226db000-7f85226de000 r--p 0019c000 08:11 26309973                   /export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
7f85226de000-7f85226e1000 rw-p 0019f000 08:11 26309973                   /export/build/gnu/glibc-gold/build-x86_64-linux/libc.so
7f85226e1000-7f85226e5000 rw-p 00000000 00:00 0
7f85226e5000-7f85226e8000 r-xp 00000000 08:11 26313777                   /export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so
7f85226e8000-7f85226e9000 r--p 00002000 08:11 26313777                   /export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so
7f85226e9000-7f85226ea000 rw-p 00003000 08:11 26313777                   /export/build/gnu/glibc-gold/build-x86_64-linux/dlfcn/libdl.so
7f85226ea000-7f85226ec000 rw-p 00000000 00:00 0
7f85226ec000-7f8522711000 r-xp 00000000 08:11 26309972                   /export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so
7f8522711000-7f8522712000 rw-p 00000000 00:00 0
7f8522712000-7f8522713000 r--p 00025000 08:11 26309972                   /export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so
7f8522713000-7f8522714000 rw-p 00026000 08:11 26309972                   /export/build/gnu/glibc-gold/build-x86_64-linux/elf/ld.so
7f8522714000-7f8522715000 rw-p 00000000 00:00 0
7ffc5a2bd000-7ffc5a2df000 rw-p 00000000 00:00 0                          [stack]
7ffc5a32c000-7ffc5a32e000 r--p 00000000 00:00 0                          [vvar]
7ffc5a32e000-7ffc5a330000 r-xp 00000000 00:00 0                          [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]

and

make[4]: *** [/export/build/gnu/glibc-gold/build-x86_64-linux/elf/vismain] Error 1
make[4]: *** [/export/build/gnu/glibc-gold/build-x86_64-linux/elf/tst-split-dynreloc] Error 1
Comment 1 H.J. Lu 2017-06-26 13:08:12 UTC
On i686, I got

FAIL: dlfcn/bug-dl-leaf
FAIL: elf/check-abi-ld
FAIL: elf/check-abi-libc
FAIL: elf/constload1
FAIL: elf/global
FAIL: elf/ifuncmain1
FAIL: elf/ifuncmain1pic
FAIL: elf/ifuncmain1pie
FAIL: elf/ifuncmain1vis
FAIL: elf/ifuncmain1vispic
FAIL: elf/ifuncmain1vispie
FAIL: elf/ifuncmain3
FAIL: elf/initfirst
FAIL: elf/preloadtest
FAIL: elf/tst-audit11
FAIL: elf/tst-audit12
FAIL: elf/tst-dlmodcount
FAIL: elf/tst-dlmopen1
FAIL: elf/tst-dlmopen3
FAIL: elf/tst-dlopenrpath
FAIL: elf/tst-latepthread
FAIL: elf/tst-leaks1-mem
FAIL: elf/tst-nodelete-dlclose
FAIL: elf/unload6
FAIL: nss/tst-nss-test1
Comment 2 H.J. Lu 2017-08-25 18:59:55 UTC
Gold can be used to build glibc master branch now.  With

CC="gcc -fuse-ld=gold" CXX="g++ -fuse-ld=gold" .../configure

on x86-64, I got



FAIL: dlfcn/bug-dl-leaf
FAIL: elf/constload1
FAIL: elf/global
FAIL: elf/ifuncmain1
FAIL: elf/ifuncmain1pic
FAIL: elf/ifuncmain1pie
FAIL: elf/ifuncmain1vis
FAIL: elf/ifuncmain1vispic
FAIL: elf/ifuncmain1vispie
FAIL: elf/ifuncmain3
FAIL: elf/tst-audit11
FAIL: elf/tst-audit12
FAIL: elf/tst-audit4
FAIL: elf/tst-audit5
FAIL: elf/tst-audit6
FAIL: elf/tst-audit7
FAIL: elf/tst-dlmopen1
FAIL: elf/tst-dlmopen3
FAIL: elf/tst-leaks1-mem
FAIL: elf/tst-nodelete-dlclose
FAIL: elf/unload6
FAIL: math/test-matherr
FAIL: math/test-matherr-2
FAIL: nss/tst-nss-test1
FAIL: nss/tst-nss-test2
FAIL: nss/tst-nss-test3
FAIL: nss/tst-nss-test4
FAIL: nss/tst-nss-test5
FAIL: posix/tst-getaddrinfo4
FAIL: posix/tst-getaddrinfo5
FAIL: resolv/tst-bug18665-tcp
FAIL: resolv/tst-res_use_inet6
FAIL: resolv/tst-resolv-basic
FAIL: resolv/tst-resolv-edns
FAIL: resolv/tst-resolv-search

with "make check" and

FAIL: nss/bug-erange
FAIL: posix/bug-ga2
FAIL: posix/bug-ga2-mem
FAIL: resolv/mtrace-tst-leaks2
FAIL: resolv/tst-resolv-rotate

with "make xcheck".
Comment 3 H.J. Lu 2017-08-25 19:00:52 UTC
*** Bug 22011 has been marked as a duplicate of this bug. ***
Comment 4 Markus Trippelsdorf 2017-08-26 05:38:07 UTC
With "ln -f /usr/x86_64-pc-linux-gnu/binutils-bin/git/ld.gold  /usr/x86_64-pc-linux-gnu/binutils-bin/git/ld" only math/test-matherr and math/test-matherr-2 fail for me. Everything else works fine.