https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77917
--- Comment #6 from PeteVine ---
Indeed, gold is definitely a factor, but look what happens after switching back
to ld.bfd on ARM:
make[6]: Entering directory
`/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src'
/bin/bash ../libtool --tag CXX --mode=link
/home/guest/gcc-svn-master/build/./gcc/xgcc -shared-libgcc
-B/home/guest/gcc-svn-master/build/./gcc -nostdinc++
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src/.libs
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs
-B/usr/gcc7/arm-linux-gnueabihf/bin/ -B/usr/gcc7/arm-linux-gnueabihf/lib/
-isystem /usr/gcc7/arm-linux-gnueabihf/include -isystem
/usr/gcc7/arm-linux-gnueabihf/sys-include -Wl,-O1 -Wl,-z,relro
-Wl,--gc-sections -std=gnu++98 -fPIC -DPIC -fno-implicit-templates -Wall
-Wextra -Wwrite-strings -Wcast-qual -Wabi -fdiagnostics-show-location=once
-ffunction-sections -fdata-sections -frandom-seed=libstdc++.la -o
libstdc++.la -version-info 6:23:0 -Wl,--version-script=libstdc++-symbols.ver
-lm -rpath /usr/gcc7/lib compatibility.lo compatibility-debug_list.lo
compatibility-debug_list-2.lo compatibility-c++0x.lo
compatibility-atomic-c++0x.lo compatibility-thread-c++0x.lo
compatibility-chrono.lo compatibility-condvar.lo
../libsupc++/libsupc++convenience.la ../src/c++98/libc++98convenience.la
../src/c++11/libc++11convenience.la
libtool: link: /home/guest/gcc-svn-master/build/./gcc/xgcc -shared-libgcc
-B/home/guest/gcc-svn-master/build/./gcc -nostdinc++
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src/.libs
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs
-B/usr/gcc7/arm-linux-gnueabihf/bin/ -B/usr/gcc7/arm-linux-gnueabihf/lib/
-isystem /usr/gcc7/arm-linux-gnueabihf/include -isystem
/usr/gcc7/arm-linux-gnueabihf/sys-include -fPIC -DPIC -D_GLIBCXX_SHARED
-shared -nostdlib /usr/lib/arm-linux-gnueabihf/crti.o
/home/guest/gcc-svn-master/build/./gcc/crtbeginS.o .libs/compatibility.o
.libs/compatibility-debug_list.o .libs/compatibility-debug_list-2.o
.libs/compatibility-c++0x.o .libs/compatibility-atomic-c++0x.o
.libs/compatibility-thread-c++0x.o .libs/compatibility-chrono.o
.libs/compatibility-condvar.o -Wl,--whole-archive
../libsupc++/.libs/libsupc++convenience.a
../src/c++98/.libs/libc++98convenience.a
../src/c++11/.libs/libc++11convenience.a -Wl,--no-whole-archive
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/libsupc++/.libs
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src
-L/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/src/.libs
-lm -L/home/guest/gcc-svn-master/build/./gcc -L/lib/arm-linux-gnueabihf
-L/usr/lib/arm-linux-gnueabihf -lc -lgcc_s
/home/guest/gcc-svn-master/build/./gcc/crtendS.o
/usr/lib/arm-linux-gnueabihf/crtn.o -Wl,-O1 -Wl,-z -Wl,relro -Wl,--gc-sections
-Wl,--version-script=libstdc++-symbols.ver -Wl,-soname -Wl,libstdc++.so.6 -o
.libs/libstdc++.so.6.0.23
/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/include/stdexcept:69:30:
note: type 'struct __cow_string' should match type 'struct __cow_string'
typedef basic_string __cow_string;
^
/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/include/stdexcept:48:10:
note: the incompatible type is defined here
struct __cow_string
^
/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/include/stdexcept:69:30:
note: type 'struct __cow_string' should match type 'struct __cow_string'
typedef basic_string __cow_string;
^
/home/guest/gcc-svn-master/build/arm-linux-gnueabihf/libstdc++-v3/include/stdexcept:48:10:
note: the incompatible type is defined here
struct __cow_string
^
`__gnu_end_cleanup' referenced in section `.text.__cxa_end_cleanup' of
/tmp/ccKTGZUi.ltrans0.ltrans.o: defined in discarded section `.text' of
eh_arm.o (symbol from plugin)
collect2: error: ld returned 1 exit status