Dear Maintainer,
just tried to collect some more information.

I could reproduce the issue inside a qemu amd64 VM,
running current Buster.
Not every attempt resulted in a crash.

Indeed "file" seems to report just the first 80
character of the command line.
Like gdb does too when it opens a core file.
The full command line is shown by "coredumpctl gdb"
in my case, as I have installed systemd-coredump.


The actual crash looks like we expect there 320 entries in
the array syms, but that is now pointing to 0x0.

    (gdb) print *symtab
    $12 = {nsyms = 320, aux = 0x7f1370010a80, syms = 0x0, id = 
5375926499655753679}

See more details in attached file.

Kind regards,
Bernhard


# coredumpctl gdb 20585
           PID: 20585 (ld.gold)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 11 (SEGV)
     Timestamp: Fri 2019-03-22 21:29:24 CET (2min 24s ago)
  Command Line: /usr/bin/ld.gold -plugin 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so 
-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper 
-plugin-opt=-fresolution=/tmp/ccfAic5u.res -plugin-opt=-pass-through=-lgcc_s 
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc 
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id 
--eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker 
/lib64/ld-linux-x86-64.so.2 -pie -o ../apt-cacher-ng 
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o 
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/8 
-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib -L/lib/x86_64-linux-gnu 
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
-L/usr/lib/gcc/x86_64-linux-gnu/8/../../.. --as-needed -O1 --discard-all 
--no-undefined --build-id=sha1 --threads --gc-sections 
CMakeFiles/apt-cacher-ng.dir/apt-cacher.cc.o ../libsupacng.so -latomic -levent 
-lwrap -lz -lbz2 -llzma -lssl -lcrypto -lsystemd -lpthread -lstdc++ -lm -lgcc_s 
-lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o 
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o


(gdb) bt
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>) at ../../gold/plugin.cc:1279
#1  0x00007f13ed5be0cf in write_resolution () at 
../../src/lto-plugin/lto-plugin.c:490
#2  all_symbols_read_handler () at ../../src/lto-plugin/lto-plugin.c:657
#3  0x000055794b4cdbaf in gold::Plugin::all_symbols_read (this=<optimized out>) 
at ../../gold/plugin.cc:403
#4  gold::Plugin_manager::all_symbols_read (task=<optimized out>, 
input_objects=<optimized out>, symtab=<optimized out>, dirpath=<optimized out>, 
mapfile=<optimized out>, last_blocker=<optimized out>, 
workqueue=0x7ffe8567dd70, this=0x55794be1e760) at ../../gold/plugin.cc:842
#5  gold::Plugin_manager::all_symbols_read (this=0x55794be1e760, 
workqueue=0x7ffe8567dd70, task=<optimized out>, input_objects=<optimized out>, 
symtab=<optimized out>, dirpath=<optimized out>, mapfile=<optimized out>, 
last_blocker=<optimized out>) at ../../gold/plugin.cc:819
#6  0x000055794b4cdcfc in gold::Plugin_hook::run (this=0x55794be54680, 
workqueue=0x7ffe8567dd70) at ../../gold/options.h:1635
#7  0x000055794b50f338 in gold::Workqueue::find_and_run_task 
(this=0x7ffe8567dd70, thread_number=7) at ../../gold/token.h:290
#8  0x000055794b50f55a in gold::Workqueue::process (this=0x7ffe8567dd70, 
thread_number=7) at ../../gold/workqueue.cc:495
#9  0x000055794b50f5d3 in gold::Workqueue_threader_threadpool::process 
(thread_number=<optimized out>, this=<optimized out>) at 
../../gold/workqueue-internal.h:92
#10 gold::Workqueue_thread::thread_body (arg=0x55794be51c80) at 
../../gold/workqueue-threads.cc:117
#11 0x00007f13edae5fa3 in start_thread (arg=<optimized out>) at 
pthread_create.c:486
#12 0x00007f13eda1682f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
# Buster amd64 qemu VM 2019-03-22

apt update
apt dist-upgrade


apt install dpkg-dev devscripts systemd-coredump gdb 
binutils-x86-64-linux-gnu-dbg gcc-8-dbgsym lz4
apt build-dep apt-cacher-ng
apt build-dep gcc-8
apt install libevent-dev





mkdir /tmp/source/binutils/orig -p
cd    /tmp/source/binutils/orig
apt source binutils-x86-64-linux-gnu
cd

mkdir /tmp/source/gcc-8/orig -p
cd    /tmp/source/gcc-8/orig
apt source gcc-8
cd gcc-8-8.3.0
# ctrl+C when configure begins
cd





mkdir /tmp/924421-test
cd    /tmp/924421-test


# 
https://salsa.debian.org/blade/apt-cacher-ng/commit/d204340833d88424792a42013e310f21aecef39b
# Branch: upstream/sid
# git clone --depth 2 https://salsa.debian.org/blade/apt-cacher-ng.git --branch 
upstream/sid --single-branch 
# is just 2.5MB

git clone https://salsa.debian.org/blade/apt-cacher-ng.git

cd apt-cacher-ng
git checkout upstream/sid

git log --oneline | head -n1
# d204340 Fix detection of LTO

cmake .

# (that should include: "-- LTO use: ON" and "Performing Test LD_MULTITHREADED 
- Success")


make -j$(nproc)


###############


benutzer@debian:/tmp/924421-test$ git clone 
https://salsa.debian.org/blade/apt-cacher-ng.git
Klone nach 'apt-cacher-ng' ...
remote: Enumerating objects: 6010, done.
remote: Counting objects: 100% (6010/6010), done.
remote: Compressing objects: 100% (2085/2085), done.
remote: Total 6010 (delta 4333), reused 5389 (delta 3720)
Empfange Objekte: 100% (6010/6010), 2.47 MiB | 2.40 MiB/s, Fertig.
Löse Unterschiede auf: 100% (4333/4333), Fertig.
benutzer@debian:/tmp/924421-test$ cd apt-cacher-ng
benutzer@debian:/tmp/924421-test/apt-cacher-ng$ git checkout upstream/sid
Branch 'upstream/sid' folgt nun Remote-Branch 'upstream/sid' von 'origin'.
Zu neuem Branch 'upstream/sid' gewechselt
benutzer@debian:/tmp/924421-test/apt-cacher-ng$ git log --oneline | head -n1
d204340 Fix detection of LTO
benutzer@debian:/tmp/924421-test/apt-cacher-ng$ cmake .
-- The CXX compiler identification is GNU 8.3.0
-- The C compiler identification is GNU 8.3.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") 
-- Looking for include files sys/param.h, sys/mount.h
-- Looking for include files sys/param.h, sys/mount.h - found
-- Looking for include file sys/vfs.h
-- Looking for include file sys/vfs.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of int
-- Check size of int - done
-- Check size of long
-- Check size of long - done
-- Check if the system is big endian
-- Searching 16 bit integer
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Performing Test COPT_Wall
-- Performing Test COPT_Wall - Success
-- Performing Test COPT_Wextra
-- Performing Test COPT_Wextra - Success
-- Performing Test COPT_Wnounusedparameter
-- Performing Test COPT_Wnounusedparameter - Success
-- Performing Test COPT_fvisibilityhidden
-- Performing Test COPT_fvisibilityhidden - Success
-- Performing Test CXX_VIHI
-- Performing Test CXX_VIHI - Success
-- Performing Test LD_Wlasneeded
-- Performing Test LD_Wlasneeded - Success
-- Performing Test LD_WlO1
-- Performing Test LD_WlO1 - Success
-- Performing Test LD_Wldiscardall
-- Performing Test LD_Wldiscardall - Success
-- Performing Test LD_Wlnoundefined
-- Performing Test LD_Wlnoundefined - Success
-- Performing Test LD_Wlbuildidsha1
-- Performing Test LD_Wlbuildidsha1 - Success
-- Performing Test LD_Wlfuseldgold
-- Performing Test LD_Wlfuseldgold - Success
-- Performing Test LD_MULTITHREADED
-- Performing Test LD_MULTITHREADED - Success
-- Performing Test GC_SECTIONS
-- Performing Test GC_SECTIONS - Success
-- Performing Test HAS_LTO
-- Performing Test HAS_LTO - Success
-- LTO use: ON
-- Performing Test HAVE_LIBWRAP
-- Performing Test HAVE_LIBWRAP - Success
-- Performing Test LD_ATOMIC
-- Performing Test LD_ATOMIC - Success
-- Performing Test HAVE_WORDEXP
-- Performing Test HAVE_WORDEXP - Success
-- Performing Test HAVE_GLOB
-- Performing Test HAVE_GLOB - Success
-- Performing Test HAVE_FADVISE
-- Performing Test HAVE_FADVISE - Success
-- Performing Test HAVE_MADVISE
-- Performing Test HAVE_MADVISE - Success
-- Performing Test HAVE_LINUX_FALLOCATE
-- Performing Test HAVE_LINUX_FALLOCATE - Success
-- Performing Test HAVE_LINUX_SENDFILE
-- Performing Test HAVE_LINUX_SENDFILE - Success
-- Performing Test HAVE_LINUX_EVENTFD
-- Performing Test HAVE_LINUX_EVENTFD - Success
-- Performing Test HAVE_PREAD
-- Performing Test HAVE_PREAD - Success
-- Performing Test HAVE_DAEMON
-- Performing Test HAVE_DAEMON - Success
-- Checking for module 'libsystemd>=209'
--   Found libsystemd, version 241
-- Performing Test HAVE_MEMORY_SPTR
-- Performing Test HAVE_MEMORY_SPTR - Success
-- Performing Test HAVE_DLOPEN
-- Performing Test HAVE_DLOPEN - Success
-- Found BZip2: /usr/lib/x86_64-linux-gnu/libbz2.so (found version "1.0.6") 
-- Looking for BZ2_bzCompressInit
-- Looking for BZ2_bzCompressInit - found
-- Performing Test HAVE_LZMA
-- Performing Test HAVE_LZMA - Success
-- Checking for module 'libevent'
--   Found libevent, version 2.1.8-stable
-- Checking for module 'openssl>=1.0.2'
--   Found openssl, version 1.1.1b
Build settings:
Compiler flags (common): -D_FILE_OFFSET_BITS=64 -Wall -Wextra 
-Wno-unused-parameter -fvisibility=hidden -fdata-sections -ffunction-sections 
-flto  
Compiler flags (C++ only): -fvisibility-inlines-hidden
Compiler flags (environment): 
Linker flags:  -Wl,--as-needed -Wl,-O1 -Wl,--discard-all -Wl,--no-undefined 
-Wl,--build-id=sha1 -Wl,-fuse-ld=gold -Wl,-fuse-ld=gold -Wl,--threads 
-Wl,--gc-sections -flto
-- Checking for module 'fuse'
--   Found fuse, version 2.9.9
-- Performing Test HAVE_FUSE_25
-- Performing Test HAVE_FUSE_25 - Success
Installation settings:
PACKAGE: apt-cacher-ng
VERSION: 3.2
CMAKE_INSTALL_PREFIX: /usr/local
CMAKE_INSTALL_FULL_SYSCONFDIR: /usr/local/etc
LIBDIR: /usr/local/lib/apt-cacher-ng
AVAHIDIR: /usr/local/etc/avahi/services

-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/924421-test/apt-cacher-ng
benutzer@debian:/tmp/924421-test/apt-cacher-ng$ make -j$(nproc)
Scanning dependencies of target supacng
Scanning dependencies of target in.acng
[  2%] Building CXX object client/CMakeFiles/in.acng.dir/client.cc.o
[  5%] Building CXX object source/CMakeFiles/supacng.dir/acbuf.cc.o
[  8%] Building CXX object source/CMakeFiles/supacng.dir/filelocks.cc.o
[ 10%] Building CXX object source/CMakeFiles/supacng.dir/aclogger.cc.o
[ 13%] Building CXX object source/CMakeFiles/supacng.dir/dlcon.cc.o
[ 16%] Building CXX object source/CMakeFiles/supacng.dir/acfg_defaults.cc.o
[ 21%] Building CXX object source/CMakeFiles/supacng.dir/fileitem.cc.o
[ 21%] Building CXX object source/CMakeFiles/supacng.dir/acfg.cc.o
[ 27%] Building CXX object source/CMakeFiles/supacng.dir/caddrinfo.cc.o
[ 27%] Building CXX object source/CMakeFiles/supacng.dir/dirwalk.cc.o
[ 29%] Building CXX object source/CMakeFiles/supacng.dir/fileio.cc.o
[ 32%] Building CXX object source/CMakeFiles/supacng.dir/filereader.cc.o
[ 35%] Building CXX object source/CMakeFiles/supacng.dir/header.cc.o
[ 37%] Building CXX object source/CMakeFiles/supacng.dir/meta.cc.o
[ 40%] Building CXX object source/CMakeFiles/supacng.dir/cleaner.cc.o
[ 43%] Building CXX object source/CMakeFiles/supacng.dir/tcpconnect.cc.o
[ 45%] Building CXX object source/CMakeFiles/supacng.dir/job.cc.o
[ 48%] Linking CXX executable ../in.acng
[ 51%] Building CXX object source/CMakeFiles/supacng.dir/bgtask.cc.o
[ 54%] Building CXX object source/CMakeFiles/supacng.dir/cacheman.cc.o
[ 54%] Built target in.acng
[ 56%] Building CXX object source/CMakeFiles/supacng.dir/conn.cc.o
[ 59%] Building CXX object source/CMakeFiles/supacng.dir/conserver.cc.o
[ 62%] Building CXX object source/CMakeFiles/supacng.dir/expiration.cc.o
[ 64%] Building CXX object source/CMakeFiles/supacng.dir/maintenance.cc.o
[ 67%] Building CXX object source/CMakeFiles/supacng.dir/lockable.cc.o
[ 70%] Building CXX object source/CMakeFiles/supacng.dir/mirror.cc.o
[ 72%] Building CXX object source/CMakeFiles/supacng.dir/pkgimport.cc.o
[ 75%] Building CXX object source/CMakeFiles/supacng.dir/showinfo.cc.o
[ 78%] Building CXX object source/CMakeFiles/supacng.dir/evabase.cc.o
[ 81%] Building CXX object source/CMakeFiles/supacng.dir/evasocket.cc.o
[ 83%] Linking CXX shared library ../libsupacng.so
[ 83%] Built target supacng
Scanning dependencies of target apt-cacher-ng
Scanning dependencies of target acngfs
Scanning dependencies of target acngtool
[ 86%] Building CXX object source/CMakeFiles/apt-cacher-ng.dir/apt-cacher.cc.o
[ 89%] Building CXX object fs/CMakeFiles/acngfs.dir/httpfs.cc.o
[ 91%] Building CXX object source/CMakeFiles/acngtool.dir/acngtool.cc.o
[ 94%] Linking CXX executable ../apt-cacher-ng
[ 97%] Linking CXX executable ../acngfs
[ 97%] Built target acngfs
[100%] Linking CXX executable ../acngtool
collect2: fatal error: ld terminated with signal 11 [Speicherzugriffsfehler], 
core dumped
compilation terminated.
make[2]: *** [source/CMakeFiles/apt-cacher-ng.dir/build.make:85: apt-cacher-ng] 
Fehler 1
make[1]: *** [CMakeFiles/Makefile2:205: 
source/CMakeFiles/apt-cacher-ng.dir/all] Fehler 2
make[1]: *** Es wird auf noch nicht beendete Prozesse gewartet....
collect2: fatal error: ld terminated with signal 11 [Speicherzugriffsfehler], 
core dumped
compilation terminated.
make[2]: *** [source/CMakeFiles/acngtool.dir/build.make:85: acngtool] Fehler 1
make[1]: *** [CMakeFiles/Makefile2:279: source/CMakeFiles/acngtool.dir/all] 
Fehler 2
make: *** [Makefile:130: all] Fehler 2





dmesg
[ 1025.397867] ld.gold[20592]: segfault at 10 ip 000055794b4cf4c3 sp 
00007f13d55b2c20 error 4 in x86_64-linux-gnu-ld.gold[55794b3f6000+1ef000]
[ 1025.397874] Code: 0f 1f 80 00 00 00 00 41 0f b6 46 3a 89 c1 83 e1 07 0f 85 
88 01 00 00 41 8b 56 18 85 d2 75 0b 41 f6 46 3b 20 0f 85 fd 01 00 00 <8b> 75 00 
83 e0 07 8d 56 fe 83 fa 02 0f 87 83 01 00 00 84 c0 0f 85
[ 1026.535173] ld.gold[20685]: segfault at 10 ip 000055b7d37234c3 sp 
00007fd2574e1c20 error 4 in x86_64-linux-gnu-ld.gold[55b7d364a000+1ef000]
[ 1026.535180] Code: 0f 1f 80 00 00 00 00 41 0f b6 46 3a 89 c1 83 e1 07 0f 85 
88 01 00 00 41 8b 56 18 85 d2 75 0b 41 f6 46 3b 20 0f 85 fd 01 00 00 <8b> 75 00 
83 e0 07 8d 56 fe 83 fa 02 0f 87 83 01 00 00 84 c0 0f 85



# coredumpctl list
TIME                            PID   UID   GID SIG COREFILE  EXE
Fri 2019-03-22 21:29:39 CET   20585  1000  1000  11 present   
/usr/bin/x86_64-linux-gnu-ld.gold
Fri 2019-03-22 21:29:40 CET   20669  1000  1000  11 present   
/usr/bin/x86_64-linux-gnu-ld.gold


root@debian:~# dpkg -S /usr/bin/x86_64-linux-gnu-ld.gold
binutils-x86-64-linux-gnu: /usr/bin/x86_64-linux-gnu-ld.gold
root@debian:~# dpkg -l binutils-x86-64-linux-gnu
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name                      Version      Architektur  Beschreibung
+++-=========================-============-============-=================================================
ii  binutils-x86-64-linux-gnu 2.31.1-15    amd64        GNU binary utilities, 
for x86-64-linux-gnu target



root@debian:~# coredumpctl gdb 20585
           PID: 20585 (ld.gold)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 11 (SEGV)
     Timestamp: Fri 2019-03-22 21:29:24 CET (2min 24s ago)
  Command Line: /usr/bin/ld.gold -plugin 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so 
-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper 
-plugin-opt=-fresolution=/tmp/ccfAic5u.res -plugin-opt=-pass-through=-lgcc_s 
-plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc 
-plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --build-id 
--eh-frame-hdr -m elf_x86_64 --hash-style=gnu -dynamic-linker 
/lib64/ld-linux-x86-64.so.2 -pie -o ../apt-cacher-ng 
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o 
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/8/crtbeginS.o -L/usr/lib/gcc/x86_64-linux-gnu/8 
-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/8/../../../../lib -L/lib/x86_64-linux-gnu 
-L/lib/../lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib/../lib 
-L/usr/lib/gcc/x86_64-linux-gnu/8/../../.. --as-needed -O1 --discard-all 
--no-undefined --build-id=sha1 --threads --gc-sections 
CMakeFiles/apt-cacher-ng.dir/apt-cacher.cc.o ../libsupacng.so -latomic -levent 
-lwrap -lz -lbz2 -llzma -lssl -lcrypto -lsystemd -lpthread -lstdc++ -lm -lgcc_s 
-lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-linux-gnu/8/crtendS.o 
/usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/crtn.o
    Executable: /usr/bin/x86_64-linux-gnu-ld.gold
 Control Group: /user.slice/user-1000.slice/session-3.scope
          Unit: session-3.scope
         Slice: user-1000.slice
       Session: 3
     Owner UID: 1000 (benutzer)
       Boot ID: ad23efe57a0841cb8fe392bcf6690d6c
    Machine ID: 32f43b50ac8c4b21941bc0b02f8e7811
      Hostname: debian
       Storage: 
/var/lib/systemd/coredump/core.ld\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000.lz4
       Message: Process 20585 (ld.gold) of user 1000 dumped core.



Core was generated by `/usr/bin/ld.gold -plugin 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plug'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0x000055794b4cf4c3 in ?? ()
[Current thread is 1 (Thread 0x7f13d55b3700 (LWP 20592))]
(gdb) bt
#0  0x000055794b4cf4c3 in ?? ()
#1  0x00007f13ed5be0cf in ?? () from 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so
#2  0x000055794b4cdbaf in ?? ()
#3  0x000055794b4cdcfc in ?? ()
#4  0x000055794b50f338 in ?? ()
#5  0x000055794b50f55a in ?? ()
#6  0x000055794b50f5d3 in ?? ()
#7  0x00007f13edae5fa3 in start_thread (arg=<optimized out>) at 
pthread_create.c:486
#8  0x00007f13eda1682f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95





set width 0
set pagination off
directory /tmp/source/binutils/orig/binutils-2.31.1/debian/tests
directory /tmp/source/gcc-8/orig/gcc-8-8.3.0/src/lto-plugin
bt
bt full




Core was generated by `/usr/bin/ld.gold -plugin 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plug'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>)
    at ../../gold/plugin.cc:1279
1279    ../../gold/plugin.cc: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f13d55b3700 (LWP 20592))]
(gdb) set width 0
(gdb) set pagination off
(gdb) bt
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>) at ../../gold/plugin.cc:1279
#1  0x00007f13ed5be0cf in ?? () from 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so
#2  0x000055794b4cdbaf in gold::Plugin::all_symbols_read (this=<optimized out>) 
at ../../gold/plugin.cc:403
#3  gold::Plugin_manager::all_symbols_read (task=<optimized out>, 
input_objects=<optimized out>, symtab=<optimized out>, dirpath=<optimized out>, 
mapfile=<optimized out>, last_blocker=<optimized out>, 
workqueue=0x7ffe8567dd70, this=0x55794be1e760) at ../../gold/plugin.cc:842
#4  gold::Plugin_manager::all_symbols_read (this=0x55794be1e760, 
workqueue=0x7ffe8567dd70, task=<optimized out>, input_objects=<optimized out>, 
symtab=<optimized out>, dirpath=<optimized out>, mapfile=<optimized out>, 
last_blocker=<optimized out>) at ../../gold/plugin.cc:819
#5  0x000055794b4cdcfc in gold::Plugin_hook::run (this=0x55794be54680, 
workqueue=0x7ffe8567dd70) at ../../gold/options.h:1635
#6  0x000055794b50f338 in gold::Workqueue::find_and_run_task 
(this=0x7ffe8567dd70, thread_number=7) at ../../gold/token.h:290
#7  0x000055794b50f55a in gold::Workqueue::process (this=0x7ffe8567dd70, 
thread_number=7) at ../../gold/workqueue.cc:495
#8  0x000055794b50f5d3 in gold::Workqueue_threader_threadpool::process 
(thread_number=<optimized out>, this=<optimized out>) at 
../../gold/workqueue-internal.h:92
#9  gold::Workqueue_thread::thread_body (arg=0x55794be51c80) at 
../../gold/workqueue-threads.cc:117
#10 0x00007f13edae5fa3 in start_thread (arg=<optimized out>) at 
pthread_create.c:486
#11 0x00007f13eda1682f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95




root@debian:~# dpkg -S /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so
gcc-8: /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so
root@debian:~# dpkg -l gcc-8
Gewünscht=Unbekannt/Installieren/R=Entfernen/P=Vollständig Löschen/Halten
| Status=Nicht/Installiert/Config/U=Entpackt/halb konFiguriert/
         Halb installiert/Trigger erWartet/Trigger anhängig
|/ Fehler?=(kein)/R=Neuinstallation notwendig (Status, Fehler: GROSS=schlecht)
||/ Name           Version      Architektur  Beschreibung
+++-==============-============-============-=================================
ii  gcc-8          8.3.0-2      amd64        GNU C compiler







Core was generated by `/usr/bin/ld.gold -plugin 
/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so -plug'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>)
    at ../../gold/plugin.cc:1279
1279    ../../gold/plugin.cc: Datei oder Verzeichnis nicht gefunden.
[Current thread is 1 (Thread 0x7f13d55b3700 (LWP 20592))]
(gdb) set width 0
(gdb) set pagination off
(gdb) directory /tmp/source/binutils/orig/binutils-2.31.1/debian/tests
Source directories searched: 
/tmp/source/binutils/orig/binutils-2.31.1/debian/tests:$cdir:$cwd
(gdb) directory /tmp/source/gcc-8/orig/gcc-8-8.3.0/src/lto-plugin
Source directories searched: 
/tmp/source/gcc-8/orig/gcc-8-8.3.0/src/lto-plugin:/tmp/source/binutils/orig/binutils-2.31.1/debian/tests:$cdir:$cwd
(gdb) bt
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>) at ../../gold/plugin.cc:1279
#1  0x00007f13ed5be0cf in write_resolution () at 
../../src/lto-plugin/lto-plugin.c:490
#2  all_symbols_read_handler () at ../../src/lto-plugin/lto-plugin.c:657
#3  0x000055794b4cdbaf in gold::Plugin::all_symbols_read (this=<optimized out>) 
at ../../gold/plugin.cc:403
#4  gold::Plugin_manager::all_symbols_read (task=<optimized out>, 
input_objects=<optimized out>, symtab=<optimized out>, dirpath=<optimized out>, 
mapfile=<optimized out>, last_blocker=<optimized out>, 
workqueue=0x7ffe8567dd70, this=0x55794be1e760) at ../../gold/plugin.cc:842
#5  gold::Plugin_manager::all_symbols_read (this=0x55794be1e760, 
workqueue=0x7ffe8567dd70, task=<optimized out>, input_objects=<optimized out>, 
symtab=<optimized out>, dirpath=<optimized out>, mapfile=<optimized out>, 
last_blocker=<optimized out>) at ../../gold/plugin.cc:819
#6  0x000055794b4cdcfc in gold::Plugin_hook::run (this=0x55794be54680, 
workqueue=0x7ffe8567dd70) at ../../gold/options.h:1635
#7  0x000055794b50f338 in gold::Workqueue::find_and_run_task 
(this=0x7ffe8567dd70, thread_number=7) at ../../gold/token.h:290
#8  0x000055794b50f55a in gold::Workqueue::process (this=0x7ffe8567dd70, 
thread_number=7) at ../../gold/workqueue.cc:495
#9  0x000055794b50f5d3 in gold::Workqueue_threader_threadpool::process 
(thread_number=<optimized out>, this=<optimized out>) at 
../../gold/workqueue-internal.h:92
#10 gold::Workqueue_thread::thread_body (arg=0x55794be51c80) at 
../../gold/workqueue-threads.cc:117
#11 0x00007f13edae5fa3 in start_thread (arg=<optimized out>) at 
pthread_create.c:486
#12 0x00007f13eda1682f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
(gdb) bt full
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>) at ../../gold/plugin.cc:1279
        isym = 0x0
        lsym = 0x7f138c002510
        res = 0
        i = <optimized out>
        ldpr_prevailing_def_ironly_exp = 9
        __FUNCTION__ = "get_symbol_resolution_info"
        plugins = <optimized out>
#1  0x00007f13ed5be0cf in write_resolution () at 
../../src/lto-plugin/lto-plugin.c:490
        info = 0x7f1370001140
        symtab = 0x7f1370001150
        syms = <optimized out>
        i = 0
        f = 0x7f1380002360
        i = <optimized out>
        f = <optimized out>
        info = <optimized out>
        symtab = <optimized out>
        syms = <optimized out>
#2  all_symbols_read_handler () at ../../src/lto-plugin/lto-plugin.c:657
        i = <optimized out>
        num_lto_args = <optimized out>
        lto_argv = 0x7f1380002320
        linker_output_str = 0x0
        lto_arg_ptr = 0x7f1380002320
        __PRETTY_FUNCTION__ = "all_symbols_read_handler"
#3  0x000055794b4cdbaf in gold::Plugin::all_symbols_read (this=<optimized out>) 
at ../../gold/plugin.cc:403
No locals.
#4  gold::Plugin_manager::all_symbols_read (task=<optimized out>, 
input_objects=<optimized out>, symtab=<optimized out>, dirpath=<optimized out>, 
mapfile=<optimized out>, last_blocker=<optimized out>, 
workqueue=0x7ffe8567dd70, this=0x55794be1e760) at ../../gold/plugin.cc:842
        layout = <optimized out>
        layout = <optimized out>
        next_blocker = <optimized out>
#5  gold::Plugin_manager::all_symbols_read (this=0x55794be1e760, 
workqueue=0x7ffe8567dd70, task=<optimized out>, input_objects=<optimized out>, 
symtab=<optimized out>, dirpath=<optimized out>, mapfile=<optimized out>, 
last_blocker=<optimized out>) at ../../gold/plugin.cc:819
        layout = 0x7ffe8567e360
        next_blocker = <optimized out>
#6  0x000055794b4cdcfc in gold::Plugin_hook::run (this=0x55794be54680, 
workqueue=0x7ffe8567dd70) at ../../gold/options.h:1635
        __FUNCTION__ = "run"
        start_sym = <optimized out>
#7  0x000055794b50f338 in gold::Workqueue::find_and_run_task 
(this=0x7ffe8567dd70, thread_number=7) at ../../gold/token.h:290
        timer = {start_time_ = {user = 0, sys = 0, wall = 0}, pass_times_ = 
{{user = 0, sys = 0, wall = 0}, {user = 0, sys = 0, wall = 0}, {user = 0, sys = 
0, wall = 0}}}
        next = <optimized out>
        t = 0x55794be54680
        tl = {static max_task_count = 4, count_ = 0, tokens_ = {0x55794be54580, 
0x7f1358000b80, 0x0, 0x0}}
#8  0x000055794b50f55a in gold::Workqueue::process (this=0x7ffe8567dd70, 
thread_number=7) at ../../gold/workqueue.cc:495
No locals.
#9  0x000055794b50f5d3 in gold::Workqueue_threader_threadpool::process 
(thread_number=<optimized out>, this=<optimized out>) at 
../../gold/workqueue-internal.h:92
No locals.
#10 gold::Workqueue_thread::thread_body (arg=0x55794be51c80) at 
../../gold/workqueue-threads.cc:117
        pwt = 0x55794be51c80
#11 0x00007f13edae5fa3 in start_thread (arg=<optimized out>) at 
pthread_create.c:486
        ret = <optimized out>
        pd = <optimized out>
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {139723160631040, 
-375947601217085712, 140731136596382, 140731136596383, 139723160631040, 
140731136597760, 355774545175224048, 355651307003551472}, mask_was_saved = 0}}, 
priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, 
canceltype = 0}}}
        not_first_call = <optimized out>
#12 0x00007f13eda1682f in clone () at 
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
No locals.



(gdb) up
#1  0x00007f13ed5be0cf in write_resolution () at 
../../src/lto-plugin/lto-plugin.c:490
490     ../../src/lto-plugin/lto-plugin.c: Datei oder Verzeichnis nicht 
gefunden.
(gdb) down
#0  gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>) at ../../gold/plugin.cc:1279
1279          else if (isym->def == LDPK_UNDEF




(gdb) list plugin.cc:1231,1324
1231    // Get symbol resolution info.
1232
1233    ld_plugin_status
1234    Pluginobj::get_symbol_resolution_info(Symbol_table* symtab,
1235                                          int nsyms,
1236                                          ld_plugin_symbol* syms,
1237                                          int version) const
1238    {
1239      // For version 1 of this interface, we cannot use
1240      // LDPR_PREVAILING_DEF_IRONLY_EXP, so we return LDPR_PREVAILING_DEF
1241      // instead.
1242      const ld_plugin_symbol_resolution ldpr_prevailing_def_ironly_exp
1243          = (version > 1
1244             ? LDPR_PREVAILING_DEF_IRONLY_EXP
1245             : LDPR_PREVAILING_DEF);
1246
1247      if (nsyms > this->nsyms_)
1248        return LDPS_NO_SYMS;
1249
1250      if (static_cast<size_t>(nsyms) > this->symbols_.size())
1251        {
1252          // We never decided to include this object. We mark all symbols as
1253          // preempted.
1254          gold_assert(this->symbols_.size() == 0);
1255          for (int i = 0; i < nsyms; i++)
1256            syms[i].resolution = LDPR_PREEMPTED_REG;
1257          return version > 2 ? LDPS_NO_SYMS : LDPS_OK;
1258        }
1259
1260      Plugin_manager* plugins = parameters->options().plugins();
1261      for (int i = 0; i < nsyms; i++)
1262        {
1263          ld_plugin_symbol* isym = &syms[i];
1264          Symbol* lsym = this->symbols_[i];
1265          if (lsym->is_forwarder())
1266            lsym = symtab->resolve_forwards(lsym);
1267          ld_plugin_symbol_resolution res = LDPR_UNKNOWN;
1268
1269          if (plugins->is_defsym_def(lsym->name()))
1270            {
1271              // The symbol is redefined via defsym.
1272              res = LDPR_PREEMPTED_REG;
1273            }
1274          else if (lsym->is_undefined())
1275            {
1276              // The symbol remains undefined.
1277              res = LDPR_UNDEF;
1278            }
1279          else if (isym->def == LDPK_UNDEF                                 
<<<<<<<<<<<<
1280                   || isym->def == LDPK_WEAKUNDEF
1281                   || isym->def == LDPK_COMMON)
1282            {
1283              // The original symbol was undefined or common.
1284              if (lsym->source() != Symbol::FROM_OBJECT)
1285                res = LDPR_RESOLVED_EXEC;
1286              else if (lsym->object()->pluginobj() == this)
1287                {
1288                  if (is_referenced_from_outside(lsym))
1289                    res = LDPR_PREVAILING_DEF;
1290                  else if (is_visible_from_outside(lsym))
1291                    res = ldpr_prevailing_def_ironly_exp;
1292                  else
1293                    res = LDPR_PREVAILING_DEF_IRONLY;
1294                }
1295              else if (lsym->object()->pluginobj() != NULL)
1296                res = LDPR_RESOLVED_IR;
1297              else if (lsym->object()->is_dynamic())
1298                res = LDPR_RESOLVED_DYN;
1299              else
1300                res = LDPR_RESOLVED_EXEC;
1301            }
1302          else
1303            {
1304              // The original symbol was a definition.
1305              if (lsym->source() != Symbol::FROM_OBJECT)
1306                res = LDPR_PREEMPTED_REG;
1307              else if (lsym->object() == static_cast<const Object*>(this))
1308                {
1309                  if (is_referenced_from_outside(lsym))
1310                    res = LDPR_PREVAILING_DEF;
1311                  else if (is_visible_from_outside(lsym))
1312                    res = ldpr_prevailing_def_ironly_exp;
1313                  else
1314                    res = LDPR_PREVAILING_DEF_IRONLY;
1315                }
1316              else
1317                res = (lsym->object()->pluginobj() != NULL
1318                       ? LDPR_PREEMPTED_IR
1319                       : LDPR_PREEMPTED_REG);
1320            }
1321          isym->resolution = res;
1322        }
1323      return LDPS_OK;
1324    }




(gdb) print isym
$1 = (ld_plugin_symbol *) 0x0
(gdb) print nsyms
$2 = <optimized out>
(gdb) print syms
$3 = <optimized out>
(gdb) print i
$7 = <optimized out>

(gdb) print symtab
$8 = (gold::Symbol_table *) 0x7ffe8567e0a0
(gdb) print *symtab
$9 = {saw_undefined_ = 100, first_global_index_ = 0, offset_ = 0, output_count_ 
= 0, dynamic_offset_ = 0, first_dynamic_global_index_ = 0, dynamic_count_ = 0, 
table_ = {_M_h = {<std::__detail::_Hashtable_base<std::pair<unsigned long, 
unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*>, std::__detail::_Select1st, gold::Symbol_table::Symbol_table_eq, 
gold::Symbol_table::Symbol_table_hash, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, 
false, true> >> = {<std::__detail::_Hash_code_base<std::pair<unsigned long, 
unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*>, std::__detail::_Select1st, 
gold::Symbol_table::Symbol_table_hash, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, true>> = 
{<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, gold::Symbol_table::Symbol_table_hash, 
true>> = {<gold::Symbol_table::Symbol_table_hash> = {<No data fields>}, <No 
data fields>}, <std::__detail::_Hashtable_ebo_helper<2, 
std::__detail::_Mod_range_hashing, true>> = 
{<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data fields>}, 
<No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
gold::Symbol_table::Symbol_table_eq, true>> = 
{<gold::Symbol_table::Symbol_table_eq> = {<No data fields>}, <No data fields>}, 
<No data fields>}, <std::__detail::_Map_base<std::pair<unsigned long, unsigned 
long>, std::pair<std::pair<unsigned long, unsigned long> const, gold::Symbol*>, 
std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*> >, std::__detail::_Select1st, 
gold::Symbol_table::Symbol_table_eq, gold::Symbol_table::Symbol_table_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, true>> = {<No data fields>}, 
<std::__detail::_Insert<std::pair<unsigned long, unsigned long>, 
std::pair<std::pair<unsigned long, unsigned long> const, gold::Symbol*>, 
std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*> >, std::__detail::_Select1st, 
gold::Symbol_table::Symbol_table_eq, gold::Symbol_table::Symbol_table_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, false>> = {<std::__detail::_Insert_base<std::pair<unsigned long, 
unsigned long>, std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*>, std::allocator<std::pair<std::pair<unsigned long, unsigned 
long> const, gold::Symbol*> >, std::__detail::_Select1st, 
gold::Symbol_table::Symbol_table_eq, gold::Symbol_table::Symbol_table_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true> >> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Rehash_base<std::pair<unsigned long, unsigned long>, 
std::pair<std::pair<unsigned long, unsigned long> const, gold::Symbol*>, 
std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*> >, std::__detail::_Select1st, 
gold::Symbol_table::Symbol_table_eq, gold::Symbol_table::Symbol_table_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<std::pair<unsigned long, unsigned long>, 
std::pair<std::pair<unsigned long, unsigned long> const, gold::Symbol*>, 
std::allocator<std::pair<std::pair<unsigned long, unsigned long> const, 
gold::Symbol*> >, std::__detail::_Select1st, 
gold::Symbol_table::Symbol_table_eq, gold::Symbol_table::Symbol_table_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, true>> = {<No data fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<std::pair<unsigned
 long, unsigned long> const, gold::Symbol*>, true> > >> = 
{<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<std::pair<unsigned long, 
unsigned long> const, gold::Symbol*>, true> >, true>> = 
{<std::allocator<std::__detail::_Hash_node<std::pair<std::pair<unsigned long, 
unsigned long> const, gold::Symbol*>, true> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<std::pair<unsigned
 long, unsigned long> const, gold::Symbol*>, true> >> = {<No data fields>}, <No 
data fields>}, <No data fields>}, <No data fields>}, _M_buckets = 
0x7f138c3f1410, _M_bucket_count = 53201, _M_before_begin = {_M_nxt = 
0x7f138c4f0640}, _M_element_count = 30766, _M_rehash_policy = {static 
_S_growth_factor = 2, _M_max_load_factor = 1, _M_next_resize = 53201}, 
_M_single_bucket = 0x0}}, namepool_ = {string_set_ = {_M_h = 
{<std::__detail::_Hashtable_base<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::__detail::_Select1st, gold::Stringpool_template<char>::Stringpool_eq, 
gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Hashtable_traits<true, false, true> >> = 
{<std::__detail::_Hash_code_base<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::__detail::_Select1st, gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>> 
= {<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, 
gold::Stringpool_template<char>::Stringpool_hash, true>> = 
{<gold::Stringpool_template<char>::Stringpool_hash> = {<No data fields>}, <No 
data fields>}, <std::__detail::_Hashtable_ebo_helper<2, 
std::__detail::_Mod_range_hashing, true>> = 
{<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data fields>}, 
<No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
gold::Stringpool_template<char>::Stringpool_eq, true>> = 
{<gold::Stringpool_template<char>::Stringpool_eq> = {<No data fields>}, <No 
data fields>}, <No data fields>}, 
<std::__detail::_Map_base<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::allocator<std::pair<gold::Stringpool_template<char>::Hashkey const, 
unsigned long> >, std::__detail::_Select1st, 
gold::Stringpool_template<char>::Stringpool_eq, 
gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, true>> = {<No data fields>}, 
<std::__detail::_Insert<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::allocator<std::pair<gold::Stringpool_template<char>::Hashkey const, 
unsigned long> >, std::__detail::_Select1st, 
gold::Stringpool_template<char>::Stringpool_eq, 
gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, false>> = 
{<std::__detail::_Insert_base<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::allocator<std::pair<gold::Stringpool_template<char>::Hashkey const, 
unsigned long> >, std::__detail::_Select1st, 
gold::Stringpool_template<char>::Stringpool_eq, 
gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true> >> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Rehash_base<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::allocator<std::pair<gold::Stringpool_template<char>::Hashkey const, 
unsigned long> >, std::__detail::_Select1st, 
gold::Stringpool_template<char>::Stringpool_eq, 
gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<gold::Stringpool_template<char>::Hashkey, 
std::pair<gold::Stringpool_template<char>::Hashkey const, unsigned long>, 
std::allocator<std::pair<gold::Stringpool_template<char>::Hashkey const, 
unsigned long> >, std::__detail::_Select1st, 
gold::Stringpool_template<char>::Stringpool_eq, 
gold::Stringpool_template<char>::Stringpool_hash, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<true, 
false, true>, true>> = {<No data fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<gold::Stringpool_template<char>::Hashkey
 const, unsigned long>, true> > >> = {<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<gold::Stringpool_template<char>::Hashkey
 const, unsigned long>, true> >, true>> = 
{<std::allocator<std::__detail::_Hash_node<std::pair<gold::Stringpool_template<char>::Hashkey
 const, unsigned long>, true> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<gold::Stringpool_template<char>::Hashkey
 const, unsigned long>, true> >> = {<No data fields>}, <No data fields>}, <No 
data fields>}, <No data fields>}, _M_buckets = 0x7f13ed5ce010, _M_bucket_count 
= 26267, _M_before_begin = {_M_nxt = 0x7f138c4f06f0}, _M_element_count = 16078, 
_M_rehash_policy = {static _S_growth_factor = 2, _M_max_load_factor = 1, 
_M_next_resize = 26267}, _M_single_bucket = 0x0}}, key_to_offset_ = {static 
chunk_size = <optimized out>, chunks_ = {<std::_Vector_base<std::vector<long, 
std::allocator<long> >, std::allocator<std::vector<long, std::allocator<long> > 
> >> = {_M_impl = {<std::allocator<std::vector<long, std::allocator<long> > >> 
= {<__gnu_cxx::new_allocator<std::vector<long, std::allocator<long> > >> = {<No 
data fields>}, <No data fields>}, _M_start = 0x55794be15be0, _M_finish = 
0x55794be15c28, _M_end_of_storage = 0x55794be15c28}}, <No data fields>}, size_ 
= 16078}, strings_ = 
{<std::__cxx11::_List_base<gold::Stringpool_template<char>::Stringdata*, 
std::allocator<gold::Stringpool_template<char>::Stringdata*> >> = {_M_impl = 
{<std::allocator<std::_List_node<gold::Stringpool_template<char>::Stringdata*> 
>> = 
{<__gnu_cxx::new_allocator<std::_List_node<gold::Stringpool_template<char>::Stringdata*>
 >> = {<No data fields>}, <No data fields>}, _M_node = 
{<std::__detail::_List_node_base> = {_M_next = 0x7f135c001600, _M_prev = 
0x7f135c001d90}, _M_size = 478}}}, <No data fields>}, strtab_size_ = 0, 
zero_null_ = true, optimize_ = false, offset_ = 466076, addralign_ = 1}, 
forwarders_ = {_M_h = {<std::__detail::_Hashtable_base<gold::Symbol const*, 
std::pair<gold::Symbol const* const, gold::Symbol*>, std::__detail::_Select1st, 
std::equal_to<gold::Symbol const*>, std::hash<gold::Symbol const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Hashtable_traits<false, false, true> >> = 
{<std::__detail::_Hash_code_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Symbol*>, std::__detail::_Select1st, std::hash<gold::Symbol 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, false>> = 
{<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, std::hash<gold::Symbol const*>, true>> 
= {<std::hash<gold::Symbol const*>> = {<std::__hash_base<unsigned long, 
gold::Symbol const*>> = {<No data fields>}, <No data fields>}, <No data 
fields>}, <std::__detail::_Hashtable_ebo_helper<2, 
std::__detail::_Mod_range_hashing, true>> = 
{<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data fields>}, 
<No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
std::equal_to<gold::Symbol const*>, true>> = {<std::equal_to<gold::Symbol 
const*>> = {<std::binary_function<gold::Symbol const*, gold::Symbol const*, 
bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data 
fields>}, <std::__detail::_Map_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Symbol*>, std::allocator<std::pair<gold::Symbol const* 
const, gold::Symbol*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, <std::__detail::_Insert<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Symbol*>, std::allocator<std::pair<gold::Symbol const* 
const, gold::Symbol*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, false>> = 
{<std::__detail::_Insert_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Symbol*>, std::allocator<std::pair<gold::Symbol const* 
const, gold::Symbol*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true> >> = {<No data fields>}, 
<No data fields>}, <std::__detail::_Rehash_base<gold::Symbol const*, 
std::pair<gold::Symbol const* const, gold::Symbol*>, 
std::allocator<std::pair<gold::Symbol const* const, gold::Symbol*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol const*>, 
std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, 
std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<gold::Symbol const*, std::pair<gold::Symbol const* 
const, gold::Symbol*>, std::allocator<std::pair<gold::Symbol const* const, 
gold::Symbol*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol
 const* const, gold::Symbol*>, false> > >> = 
{<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol const* const, 
gold::Symbol*>, false> >, true>> = 
{<std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol const* const, 
gold::Symbol*>, false> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<gold::Symbol 
const* const, gold::Symbol*>, false> >> = {<No data fields>}, <No data 
fields>}, <No data fields>}, <No data fields>}, _M_buckets = 0x7f138c0098e0, 
_M_bucket_count = 79, _M_before_begin = {_M_nxt = 0x7f138c4db5d0}, 
_M_element_count = 53, _M_rehash_policy = {static _S_growth_factor = 2, 
_M_max_load_factor = 1, _M_next_resize = 79}, _M_single_bucket = 0x0}}, 
weak_aliases_ = {_M_h = {<std::__detail::_Hashtable_base<gold::Symbol*, 
std::pair<gold::Symbol* const, gold::Symbol*>, std::__detail::_Select1st, 
std::equal_to<gold::Symbol*>, std::hash<gold::Symbol*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Hashtable_traits<false, false, true> >> = 
{<std::__detail::_Hash_code_base<gold::Symbol*, std::pair<gold::Symbol* const, 
gold::Symbol*>, std::__detail::_Select1st, std::hash<gold::Symbol*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, false>> 
= {<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, std::hash<gold::Symbol*>, true>> = 
{<std::hash<gold::Symbol*>> = {<std::__hash_base<unsigned long, gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, 
true>> = {<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data 
fields>}, <No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
std::equal_to<gold::Symbol*>, true>> = {<std::equal_to<gold::Symbol*>> = 
{<std::binary_function<gold::Symbol*, gold::Symbol*, bool>> = {<No data 
fields>}, <No data fields>}, <No data fields>}, <No data fields>}, 
<std::__detail::_Map_base<gold::Symbol*, std::pair<gold::Symbol* const, 
gold::Symbol*>, std::allocator<std::pair<gold::Symbol* const, gold::Symbol*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol*>, 
std::hash<gold::Symbol*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, <std::__detail::_Insert<gold::Symbol*, std::pair<gold::Symbol* const, 
gold::Symbol*>, std::allocator<std::pair<gold::Symbol* const, gold::Symbol*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol*>, 
std::hash<gold::Symbol*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, false>> = 
{<std::__detail::_Insert_base<gold::Symbol*, std::pair<gold::Symbol* const, 
gold::Symbol*>, std::allocator<std::pair<gold::Symbol* const, gold::Symbol*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol*>, 
std::hash<gold::Symbol*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true> >> = {<No data fields>}, 
<No data fields>}, <std::__detail::_Rehash_base<gold::Symbol*, 
std::pair<gold::Symbol* const, gold::Symbol*>, 
std::allocator<std::pair<gold::Symbol* const, gold::Symbol*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol*>, 
std::hash<gold::Symbol*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, 
std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<gold::Symbol*, std::pair<gold::Symbol* const, 
gold::Symbol*>, std::allocator<std::pair<gold::Symbol* const, gold::Symbol*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol*>, 
std::hash<gold::Symbol*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol*
 const, gold::Symbol*>, false> > >> = {<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol* const, 
gold::Symbol*>, false> >, true>> = 
{<std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol* const, 
gold::Symbol*>, false> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<gold::Symbol* 
const, gold::Symbol*>, false> >> = {<No data fields>}, <No data fields>}, <No 
data fields>}, <No data fields>}, _M_buckets = 0x7f13700011c0, _M_bucket_count 
= 17, _M_before_begin = {_M_nxt = 0x7f138c4e7170}, _M_element_count = 15, 
_M_rehash_policy = {static _S_growth_factor = 2, _M_max_load_factor = 1, 
_M_next_resize = 17}, _M_single_bucket = 0x0}}, commons_ = 
{<std::_Vector_base<gold::Symbol*, std::allocator<gold::Symbol*> >> = {_M_impl 
= {<std::allocator<gold::Symbol*>> = {<__gnu_cxx::new_allocator<gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, 
_M_end_of_storage = 0x0}}, <No data fields>}, tls_commons_ = 
{<std::_Vector_base<gold::Symbol*, std::allocator<gold::Symbol*> >> = {_M_impl 
= {<std::allocator<gold::Symbol*>> = {<__gnu_cxx::new_allocator<gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, 
_M_end_of_storage = 0x0}}, <No data fields>}, small_commons_ = 
{<std::_Vector_base<gold::Symbol*, std::allocator<gold::Symbol*> >> = {_M_impl 
= {<std::allocator<gold::Symbol*>> = {<__gnu_cxx::new_allocator<gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, 
_M_end_of_storage = 0x0}}, <No data fields>}, large_commons_ = 
{<std::_Vector_base<gold::Symbol*, std::allocator<gold::Symbol*> >> = {_M_impl 
= {<std::allocator<gold::Symbol*>> = {<__gnu_cxx::new_allocator<gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, 
_M_end_of_storage = 0x0}}, <No data fields>}, forced_locals_ = 
{<std::_Vector_base<gold::Symbol*, std::allocator<gold::Symbol*> >> = {_M_impl 
= {<std::allocator<gold::Symbol*>> = {<__gnu_cxx::new_allocator<gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, _M_start = 0x7f138c014200, _M_finish = 
0x7f138c0143d8, _M_end_of_storage = 0x7f138c014400}}, <No data fields>}, 
warnings_ = {warnings_ = {_M_h = {<std::__detail::_Hashtable_base<char const*, 
std::pair<char const* const, gold::Warnings::Warning_location>, 
std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Hashtable_traits<false, false, true> >> = 
{<std::__detail::_Hash_code_base<char const*, std::pair<char const* const, 
gold::Warnings::Warning_location>, std::__detail::_Select1st, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, false>> = 
{<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, std::hash<char const*>, true>> = 
{<std::hash<char const*>> = {<std::__hash_base<unsigned long, char const*>> = 
{<No data fields>}, <No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, 
true>> = {<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data 
fields>}, <No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
std::equal_to<char const*>, true>> = {<std::equal_to<char const*>> = 
{<std::binary_function<char const*, char const*, bool>> = {<No data fields>}, 
<No data fields>}, <No data fields>}, <No data fields>}, 
<std::__detail::_Map_base<char const*, std::pair<char const* const, 
gold::Warnings::Warning_location>, std::allocator<std::pair<char const* const, 
gold::Warnings::Warning_location> >, std::__detail::_Select1st, 
std::equal_to<char const*>, std::hash<char const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, 
false, true>, true>> = {<No data fields>}, <std::__detail::_Insert<char const*, 
std::pair<char const* const, gold::Warnings::Warning_location>, 
std::allocator<std::pair<char const* const, gold::Warnings::Warning_location> 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, false>> = 
{<std::__detail::_Insert_base<char const*, std::pair<char const* const, 
gold::Warnings::Warning_location>, std::allocator<std::pair<char const* const, 
gold::Warnings::Warning_location> >, std::__detail::_Select1st, 
std::equal_to<char const*>, std::hash<char const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, 
false, true> >> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Rehash_base<char const*, std::pair<char const* const, 
gold::Warnings::Warning_location>, std::allocator<std::pair<char const* const, 
gold::Warnings::Warning_location> >, std::__detail::_Select1st, 
std::equal_to<char const*>, std::hash<char const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, 
false, true>, std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<char const*, std::pair<char const* const, 
gold::Warnings::Warning_location>, std::allocator<std::pair<char const* const, 
gold::Warnings::Warning_location> >, std::__detail::_Select1st, 
std::equal_to<char const*>, std::hash<char const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false, 
false, true>, true>> = {<No data fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char
 const* const, gold::Warnings::Warning_location>, false> > >> = 
{<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<char const* const, 
gold::Warnings::Warning_location>, false> >, true>> = 
{<std::allocator<std::__detail::_Hash_node<std::pair<char const* const, 
gold::Warnings::Warning_location>, false> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<char const* 
const, gold::Warnings::Warning_location>, false> >> = {<No data fields>}, <No 
data fields>}, <No data fields>}, <No data fields>}, _M_buckets = 
0x7f138c007ce0, _M_bucket_count = 37, _M_before_begin = {_M_nxt = 
0x7f138c46e2f0}, _M_element_count = 35, _M_rehash_policy = {static 
_S_growth_factor = 2, _M_max_load_factor = 1, _M_next_resize = 37}, 
_M_single_bucket = 0x0}}}, candidate_odr_violations_ = {_M_h = 
{<std::__detail::_Hashtable_base<char const*, std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<false, 
false, true> >> = {<std::__detail::_Hash_code_base<char const*, std::pair<char 
const* const, std::unordered_set<gold::Symbol_location, 
gold::Symbol_location_hash, std::equal_to<gold::Symbol_location>, 
std::allocator<gold::Symbol_location> > >, std::__detail::_Select1st, 
std::hash<char const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, false>> = 
{<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, std::hash<char const*>, true>> = 
{<std::hash<char const*>> = {<std::__hash_base<unsigned long, char const*>> = 
{<No data fields>}, <No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<2, std::__detail::_Mod_range_hashing, 
true>> = {<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data 
fields>}, <No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
std::equal_to<char const*>, true>> = {<std::equal_to<char const*>> = 
{<std::binary_function<char const*, char const*, bool>> = {<No data fields>}, 
<No data fields>}, <No data fields>}, <No data fields>}, 
<std::__detail::_Map_base<char const*, std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, std::allocator<std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > > 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, <std::__detail::_Insert<char const*, std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, std::allocator<std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > > 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, false>> = 
{<std::__detail::_Insert_base<char const*, std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, std::allocator<std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > > 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true> >> = {<No data fields>}, 
<No data fields>}, <std::__detail::_Rehash_base<char const*, std::pair<char 
const* const, std::unordered_set<gold::Symbol_location, 
gold::Symbol_location_hash, std::equal_to<gold::Symbol_location>, 
std::allocator<gold::Symbol_location> > >, std::allocator<std::pair<char const* 
const, std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > > 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, 
std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<char const*, std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, std::allocator<std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > > 
>, std::__detail::_Select1st, std::equal_to<char const*>, std::hash<char 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<char
 const* const, std::unordered_set<gold::Symbol_location, 
gold::Symbol_location_hash, std::equal_to<gold::Symbol_location>, 
std::allocator<gold::Symbol_location> > >, false> > >> = 
{<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<char const* const, 
std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, false> >, true>> = {<std::allocator<std::__detail::_Hash_node<std::pair<char 
const* const, std::unordered_set<gold::Symbol_location, 
gold::Symbol_location_hash, std::equal_to<gold::Symbol_location>, 
std::allocator<gold::Symbol_location> > >, false> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<char const* 
const, std::unordered_set<gold::Symbol_location, gold::Symbol_location_hash, 
std::equal_to<gold::Symbol_location>, std::allocator<gold::Symbol_location> > 
>, false> >> = {<No data fields>}, <No data fields>}, <No data fields>}, <No 
data fields>}, _M_buckets = 0x7ffe8567e2e8, _M_bucket_count = 1, 
_M_before_begin = {_M_nxt = 0x0}, _M_element_count = 0, _M_rehash_policy = 
{static _S_growth_factor = 2, _M_max_load_factor = 1, _M_next_resize = 0}, 
_M_single_bucket = 0x0}}, copied_symbol_dynobjs_ = {_M_h = 
{<std::__detail::_Hashtable_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Dynobj*>, std::__detail::_Select1st, 
std::equal_to<gold::Symbol const*>, std::hash<gold::Symbol const*>, 
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, 
std::__detail::_Hashtable_traits<false, false, true> >> = 
{<std::__detail::_Hash_code_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Dynobj*>, std::__detail::_Select1st, std::hash<gold::Symbol 
const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, false>> = 
{<std::__detail::_Hashtable_ebo_helper<0, std::__detail::_Select1st, true>> = 
{<std::__detail::_Select1st> = {<No data fields>}, <No data fields>}, 
<std::__detail::_Hashtable_ebo_helper<1, std::hash<gold::Symbol const*>, true>> 
= {<std::hash<gold::Symbol const*>> = {<std::__hash_base<unsigned long, 
gold::Symbol const*>> = {<No data fields>}, <No data fields>}, <No data 
fields>}, <std::__detail::_Hashtable_ebo_helper<2, 
std::__detail::_Mod_range_hashing, true>> = 
{<std::__detail::_Mod_range_hashing> = {<No data fields>}, <No data fields>}, 
<No data fields>}, <std::__detail::_Hashtable_ebo_helper<0, 
std::equal_to<gold::Symbol const*>, true>> = {<std::equal_to<gold::Symbol 
const*>> = {<std::binary_function<gold::Symbol const*, gold::Symbol const*, 
bool>> = {<No data fields>}, <No data fields>}, <No data fields>}, <No data 
fields>}, <std::__detail::_Map_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Dynobj*>, std::allocator<std::pair<gold::Symbol const* 
const, gold::Dynobj*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, <std::__detail::_Insert<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Dynobj*>, std::allocator<std::pair<gold::Symbol const* 
const, gold::Dynobj*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, false>> = 
{<std::__detail::_Insert_base<gold::Symbol const*, std::pair<gold::Symbol 
const* const, gold::Dynobj*>, std::allocator<std::pair<gold::Symbol const* 
const, gold::Dynobj*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true> >> = {<No data fields>}, 
<No data fields>}, <std::__detail::_Rehash_base<gold::Symbol const*, 
std::pair<gold::Symbol const* const, gold::Dynobj*>, 
std::allocator<std::pair<gold::Symbol const* const, gold::Dynobj*> >, 
std::__detail::_Select1st, std::equal_to<gold::Symbol const*>, 
std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, 
std::integral_constant<bool, true> >> = {<No data fields>}, 
<std::__detail::_Equality<gold::Symbol const*, std::pair<gold::Symbol const* 
const, gold::Dynobj*>, std::allocator<std::pair<gold::Symbol const* const, 
gold::Dynobj*> >, std::__detail::_Select1st, std::equal_to<gold::Symbol 
const*>, std::hash<gold::Symbol const*>, std::__detail::_Mod_range_hashing, 
std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, 
std::__detail::_Hashtable_traits<false, false, true>, true>> = {<No data 
fields>}, 
<std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol
 const* const, gold::Dynobj*>, false> > >> = 
{<std::__detail::_Hashtable_ebo_helper<0, 
std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol const* const, 
gold::Dynobj*>, false> >, true>> = 
{<std::allocator<std::__detail::_Hash_node<std::pair<gold::Symbol const* const, 
gold::Dynobj*>, false> >> = 
{<__gnu_cxx::new_allocator<std::__detail::_Hash_node<std::pair<gold::Symbol 
const* const, gold::Dynobj*>, false> >> = {<No data fields>}, <No data 
fields>}, <No data fields>}, <No data fields>}, _M_buckets = 0x7ffe8567e320, 
_M_bucket_count = 1, _M_before_begin = {_M_nxt = 0x0}, _M_element_count = 0, 
_M_rehash_policy = {static _S_growth_factor = 2, _M_max_load_factor = 1, 
_M_next_resize = 0}, _M_single_bucket = 0x0}}, version_script_ = 
@0x7ffe85687bd8, gc_ = 0x7ffe8567df00, icf_ = 0x0, target_symbols_ = 
{<std::_Vector_base<gold::Symbol*, std::allocator<gold::Symbol*> >> = {_M_impl 
= {<std::allocator<gold::Symbol*>> = {<__gnu_cxx::new_allocator<gold::Symbol*>> 
= {<No data fields>}, <No data fields>}, _M_start = 0x0, _M_finish = 0x0, 
_M_end_of_storage = 0x0}}, <No data fields>}}




(gdb) disassemble $pc-20,$pc+20
Dump of assembler code from 0x55794b4cf4af to 0x55794b4cf4d7:
   0x000055794b4cf4af 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+191>:        add    %al,-0x75(%rcx)
   0x000055794b4cf4b2 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+194>:        push   %rsi
   0x000055794b4cf4b3 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+195>:        sbb    %al,0x410b75d2(%rbp)
   0x000055794b4cf4b9 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+201>:        testb  $0x20,0x3b(%rsi)
   0x000055794b4cf4bd 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+205>:        jne    0x55794b4cf6c0 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+720>
=> 0x000055794b4cf4c3 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+211>:        mov    0x0(%rbp),%esi
   0x000055794b4cf4c6 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+214>:        and    $0x7,%eax
   0x000055794b4cf4c9 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+217>:        lea    -0x2(%rsi),%edx
   0x000055794b4cf4cc 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+220>:        cmp    $0x2,%edx
   0x000055794b4cf4cf 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+223>:        ja     0x55794b4cf658 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+616>
   0x000055794b4cf4d5 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+229>:        test   %al,%al
End of assembler dump.


(gdb) info reg
rax            0x80                128
rbx            0x0                 0
rcx            0x0                 0
rdx            0x1                 1
rsi            0x4                 4
rdi            0x1                 1
rbp            0x10                0x10
rsp            0x7f13d55b2c20      0x7f13d55b2c20
r8             0x1f                31
r9             0x7f138c4f07f0      139721935095792
r10            0x3                 3
r11            0x0                 0
r12            0x7f13d55b2c50      139723160628304
r13            0x7f13d55b2c60      139723160628320
r14            0x7f138c002510      139721929925904
r15            0x0                 0
rip            0x55794b4cf4c3      0x55794b4cf4c3 
<gold::Pluginobj::get_symbol_resolution_info(gold::Symbol_table*, int, 
ld_plugin_symbol*, int) const+211>
eflags         0x10202             [ IF RF ]
cs             0x33                51
ss             0x2b                43
ds             0x0                 0
es             0x0                 0
fs             0x0                 0
gs             0x0                 0


(gdb) info thread
  Id   Target Id                         Frame 
* 1    Thread 0x7f13d55b3700 (LWP 20592) 
gold::Pluginobj::get_symbol_resolution_info (this=0x7f1370001040, 
symtab=0x7ffe8567e0a0, nsyms=<optimized out>, syms=<optimized out>, 
version=<optimized out>) at ../../gold/plugin.cc:1279
  2    Thread 0x7f13c55af700 (LWP 20596) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  3    Thread 0x7f13e95b8700 (LWP 20587) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  4    Thread 0x7f13a95a8700 (LWP 20603) 0x000055794b53b7b2 in 
gold::Symbol::set_undef_binding (bind=<optimized out>, this=<optimized out>) at 
../../gold/../elfcpp/elfcpp.h:1526
  5    Thread 0x7f13ed5b9700 (LWP 20586) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  6    Thread 0x7f13c95b0700 (LWP 20595) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  7    Thread 0x7f13a15a6700 (LWP 20605) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  8    Thread 0x7f13ad5a9700 (LWP 20602) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  9    Thread 0x7f13d95b4700 (LWP 20591) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  10   Thread 0x7f13d15b2700 (LWP 20593) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  11   Thread 0x7f139d5a5700 (LWP 20606) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  12   Thread 0x7f13b55ab700 (LWP 20600) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  13   Thread 0x7f13c15ae700 (LWP 20597) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  14   Thread 0x7f13995a4700 (LWP 20607) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  15   Thread 0x7f13ed91c100 (LWP 20585) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  16   Thread 0x7f13b15aa700 (LWP 20601) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  17   Thread 0x7f13bd5ad700 (LWP 20598) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  18   Thread 0x7f13955a3700 (LWP 20608) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  19   Thread 0x7f13a55a7700 (LWP 20604) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  20   Thread 0x7f13b95ac700 (LWP 20599) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  21   Thread 0x7f13cd5b1700 (LWP 20594) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  22   Thread 0x7f13dd5b5700 (LWP 20590) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  23   Thread 0x7f13e15b6700 (LWP 20589) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
  24   Thread 0x7f13e55b7700 (LWP 20588) futex_wait_cancelable (private=0, 
expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88


(gdb) up
#1  0x00007f13ed5be0cf in write_resolution () at 
../../src/lto-plugin/lto-plugin.c:490
490             get_symbols_v2 (info->handle, symtab->nsyms, syms);

(gdb) print symtab->nsyms
$4 = 320
(gdb) print syms
$5 = <optimized out>
(gdb) print symtab->syms
$6 = (struct ld_plugin_symbol *) 0x0

(gdb) print symtab
$11 = (struct plugin_symtab *) 0x7f1370001150
(gdb) print *symtab
$12 = {nsyms = 320, aux = 0x7f1370010a80, syms = 0x0, id = 5375926499655753679}


(gdb) list lto-plugin.c:467,491
467     /*  Writes the relocations to disk. */
468
469     static void
470     write_resolution (void)
471     {
472       unsigned int i;
473       FILE *f;
474
475       check (resolution_file, LDPL_FATAL, "resolution file not specified");
476       f = fopen (resolution_file, "w");
477       check (f, LDPL_FATAL, "could not open file");
478
479       fprintf (f, "%d\n", num_claimed_files);
480
481       for (i = 0; i < num_claimed_files; i++)
482         {
483           struct plugin_file_info *info = &claimed_files[i];
484           struct plugin_symtab *symtab = &info->symtab;
485           struct ld_plugin_symbol *syms = symtab->syms;
486
487           /* Version 2 of API supports IRONLY_EXP resolution that is
488              accepted by GCC-4.7 and newer.  */
489           if (get_symbols_v2)
490             get_symbols_v2 (info->handle, symtab->nsyms, syms);
491           else

















Inside VM:
root@debian:~# lscpu
Architecture:        x86_64
CPU op-mode(s):      32-bit, 64-bit
Byte Order:          Little Endian
Address sizes:       40 bits physical, 48 bits virtual
CPU(s):              12
On-line CPU(s) list: 0-11
Thread(s) per core:  1
Core(s) per socket:  1
Socket(s):           12
NUMA node(s):        1
Vendor ID:           AuthenticAMD
CPU family:          6
Model:               6
Model name:          QEMU Virtual CPU version 2.5+
Stepping:            3
CPU MHz:             2994.374
BogoMIPS:            5988.74
Hypervisor vendor:   KVM
Virtualization type: full
L1d cache:           64K
L1i cache:           64K
L2 cache:            512K
L3 cache:            16384K
NUMA node0 CPU(s):   0-11
Flags:               fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov 
pat pse36 clflush mmx fxsr sse sse2 syscall nx lm nopl cpuid tsc_known_freq pni 
cx16 x2apic hypervisor lahf_lm 3dnowprefetch vmmcall

Host:
root@rechner:~# lscpu
Architektur:                   x86_64
CPU Operationsmodus:           32-bit, 64-bit
Byte-Reihenfolge:              Little Endian
Address sizes:                 43 bits physical, 48 bits virtual
CPU(s):                        16
Liste der Online-CPU(s):       0-15
Thread(s) pro Kern:            2
Kern(e) pro Socket:            8
Sockel:                        1
NUMA-Knoten:                   1
Anbieterkennung:               AuthenticAMD
Prozessorfamilie:              23
Modell:                        1
Modellname:                    AMD Ryzen 7 1700 Eight-Core Processor
Stepping:                      1
CPU MHz:                       1382.300
Maximale Taktfrequenz der CPU: 3000,0000
Minimale Taktfrequenz der CPU: 1550,0000
BogoMIPS:                      5987.97
Virtualisierung:               AMD-V
L1d Cache:                     32K
L1i Cache:                     64K
L2 Cache:                      512K
L3 Cache:                      8192K
NUMA-Knoten0 CPU(s):           0-15
Markierungen:                  fpu vme de pse tsc msr pae mce cx8 apic sep mtrr 
pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt 
pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid 
aperfmperf pni pclmulqdq monitor ssse3 fma cx16 sse4_1 sse4_2 movbe popcnt aes 
xsave avx f16c rdrand lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a 
misalignsse 3dnowprefetch osvw skinit wdt tce topoext perfctr_core perfctr_nb 
bpext perfctr_llc mwaitx cpb hw_pstate sme ssbd sev ibpb vmmcall fsgsbase bmi1 
avx2 smep bmi2 rdseed adx smap clflushopt sha_ni xsaveopt xsavec xgetbv1 xsaves 
clzero irperf xsaveerptr arat npt lbrv svm_lock nrip_save tsc_scale vmcb_clean 
flushbyasid decodeassists pausefilter pfthreshold avic v_vmsave_vmload vgif 
overflow_recov succor smca















# Unimportant, just trying to show gdb the command line ...



root@debian:~# file 
/var/lib/systemd/coredump/core.ld\\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000.lz4
 
/var/lib/systemd/coredump/core.ld\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000.lz4:
 LZ4 compressed data (v1.4+)
root@debian:~# cp 
/var/lib/systemd/coredump/core.ld\\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000.lz4
 /tmp -a
root@debian:~# unlz4 
/tmp/core.ld\\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000.lz4
 
Decoding file 
/tmp/core.ld\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000
 
/tmp/core.ld\x2egold : decoded 1553039360 bytes                                
root@debian:~# file 
/tmp/core.ld\\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000
/tmp/core.ld\x2egold.1000.ad23efe57a0841cb8fe392bcf6690d6c.20585.1553286564000000:
 ELF 64-bit LSB core file, x86-64, version 1 (SYSV), SVR4-style, from 
'/usr/bin/ld.gold -plugin /usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so 
-plug', real uid: 1000, effective uid: 1000, real gid: 1000, effective gid: 
1000, execfn: '/usr/bin/ld.gold', platform: 'x86_64'



(gdb) thread 15
[Switching to thread 15 (Thread 0x7f13ed91c100 (LWP 20585))]
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
88      ../sysdeps/unix/sysv/linux/futex-internal.h: Datei oder Verzeichnis 
nicht gefunden.
(gdb) set backtrace past-main on
(gdb) bt
#0  futex_wait_cancelable (private=0, expected=0, futex_word=0x55794be1f154) at 
../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55794be1ed28, 
cond=0x55794be1f128) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55794be1f128, mutex=0x55794be1ed28) at 
pthread_cond_wait.c:655
#3  0x000055794b44e27e in gold::Condvar_impl_threads::wait (this=<optimized 
out>, li=<optimized out>) at ../../gold/gold-threads.cc:234
#4  0x000055794b50e881 in gold::Condvar::wait (this=0x7ffe8567dda0, 
this=0x7ffe8567dda0) at ../../gold/gold-threads.h:170
#5  gold::Workqueue::find_runnable_or_wait (this=this@entry=0x7ffe8567dd70, 
thread_number=thread_number@entry=0) at ../../gold/workqueue.cc:272
#6  0x000055794b50ede8 in gold::Workqueue::find_and_run_task 
(this=0x7ffe8567dd70, thread_number=0) at ../../gold/workqueue.cc:298
#7  0x000055794b50f55a in gold::Workqueue::process 
(this=this@entry=0x7ffe8567dd70, thread_number=thread_number@entry=0) at 
../../gold/workqueue.cc:495
#8  0x000055794b40049b in main (argc=<optimized out>, argc@entry=59, 
argv=<optimized out>, argv@entry=0x7ffe85687dd8) at ../../gold/main.cc:252
#9  0x00007f13ed94109b in __libc_start_main (main=0x55794b3fff00 <main(int, 
char**)>, argc=59, argv=0x7ffe85687dd8, init=<optimized out>, fini=<optimized 
out>, rtld_fini=<optimized out>, stack_end=0x7ffe85687dc8) at 
../csu/libc-start.c:308
#10 0x000055794b40136a in _start () at ../../gold/parameters.h:86


# 
https://stackoverflow.com/questions/9049297/i-have-a-core-dump-of-an-executable-that-was-not-built-with-debug-symbols-can-i

(gdb) up
#10 0x000055794b40136a in _start () at ../../gold/parameters.h:86
86        { return this->options_ != NULL; }
(gdb) disas
Dump of assembler code for function _start:
   0x000055794b401340 <+0>:     xor    %ebp,%ebp
   0x000055794b401342 <+2>:     mov    %rdx,%r9
   0x000055794b401345 <+5>:     pop    %rsi
   0x000055794b401346 <+6>:     mov    %rsp,%rdx
   0x000055794b401349 <+9>:     and    $0xfffffffffffffff0,%rsp
   0x000055794b40134d <+13>:    push   %rax
   0x000055794b40134e <+14>:    push   %rsp
   0x000055794b40134f <+15>:    lea    0x1e34ba(%rip),%r8        # 
0x55794b5e4810 <__libc_csu_fini>
   0x000055794b401356 <+22>:    lea    0x1e3453(%rip),%rcx        # 
0x55794b5e47b0 <__libc_csu_init>
   0x000055794b40135d <+29>:    lea    -0x1464(%rip),%rdi        # 
0x55794b3fff00 <main(int, char**)>
   0x000055794b401364 <+36>:    callq  *0x2a87be(%rip)        # 0x55794b6a9b28
=> 0x000055794b40136a <+42>:    hlt    
End of assembler dump.

(gdb) x/8gx $rsp+8
0x7ffe85687dc8: 0x000000000000001c      0x000000000000003b
0x7ffe85687dd8: 0x00007ffe85689fd5      0x00007ffe85689fe6
0x7ffe85687de8: 0x00007ffe85689fee      0x00007ffe8568a01f
0x7ffe85687df8: 0x00007ffe8568a057      0x00007ffe8568a082

(gdb) print *(((char**)0x7ffe85687dd8)+0)
$24 = 0x7ffe85689fd5 "/usr/bin/ld.gold"
(gdb) print *(((char**)0x7ffe85687dd8)+1)
$25 = 0x7ffe85689fe6 "-plugin"
(gdb) print *(((char**)0x7ffe85687dd8)+2)
$26 = 0x7ffe85689fee "/usr/lib/gcc/x86_64-linux-gnu/8/liblto_plugin.so"
(gdb) print *(((char**)0x7ffe85687dd8)+3)
$27 = 0x7ffe8568a01f "-plugin-opt=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper"
(gdb) print *(((char**)0x7ffe85687dd8)+4)
$28 = 0x7ffe8568a057 "-plugin-opt=-fresolution=/tmp/ccfAic5u.res"
(gdb) print *(((char**)0x7ffe85687dd8)+5)
$29 = 0x7ffe8568a082 "-plugin-opt=-pass-through=-lgcc_s"
(gdb) print *(((char**)0x7ffe85687dd8)+6)
$30 = 0x7ffe8568a0a4 "-plugin-opt=-pass-through=-lgcc"
(gdb) print *(((char**)0x7ffe85687dd8)+7)
$31 = 0x7ffe8568a0c4 "-plugin-opt=-pass-through=-lc"
(gdb) print *(((char**)0x7ffe85687dd8)+8)
$32 = 0x7ffe8568a0e2 "-plugin-opt=-pass-through=-lgcc_s"
(gdb) print *(((char**)0x7ffe85687dd8)+9)
$33 = 0x7ffe8568a104 "-plugin-opt=-pass-through=-lgcc"
(gdb) print *(((char**)0x7ffe85687dd8)+10)
$34 = 0x7ffe8568a124 "--build-id"
(gdb) print *(((char**)0x7ffe85687dd8)+11)
$35 = 0x7ffe8568a12f "--eh-frame-hdr"
(gdb) print *(((char**)0x7ffe85687dd8)+12)
$36 = 0x7ffe8568a13e "-m"
(gdb) print *(((char**)0x7ffe85687dd8)+13)
$37 = 0x7ffe8568a141 "elf_x86_64"
(gdb) print *(((char**)0x7ffe85687dd8)+14)
$38 = 0x7ffe8568a14c "--hash-style=gnu"
(gdb) print *(((char**)0x7ffe85687dd8)+15)
$39 = 0x7ffe8568a15d "-dynamic-linker"
(gdb) print *(((char**)0x7ffe85687dd8)+16)
$40 = 0x7ffe8568a16d "/lib64/ld-linux-x86-64.so.2"
(gdb) print *(((char**)0x7ffe85687dd8)+17)
$41 = 0x7ffe8568a189 "-pie"
(gdb) print *(((char**)0x7ffe85687dd8)+18)
$42 = 0x7ffe8568a18e "-o"
(gdb) print *(((char**)0x7ffe85687dd8)+19)
$43 = 0x7ffe8568a191 "../apt-cacher-ng"
...








Reply via email to