https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123908

Martin Storsjö <martin at martin dot st> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |martin at martin dot st

--- Comment #18 from Martin Storsjö <martin at martin dot st> ---
I can reproduce this.

When libstdc++-6.dll is linked (and libstdc++.dll.a is created at the same
time), it is linked with -Wl,--version-script=libstdc++-symbols.ver, and this
limits which symbols are exposed out from a shared library.

The version script file seems to be composed from different pieces -
regenerating it looks like this:

$ make libstdc++-symbols.ver 
cp /build/gcc/libstdc++-v3/config/abi/pre/gnu.ver libstdc++-symbols.ver.tmp
chmod +w libstdc++-symbols.ver.tmp
if test "x../../../../libstdc++-v3/config/abi/pre/float128.ver" != x; then \
  if grep '^# Appended to version file.' \
       ../../../../libstdc++-v3/config/abi/pre/float128.ver > /dev/null 2>&1;
then \
    cat ../../../../libstdc++-v3/config/abi/pre/float128.ver >>
libstdc++-symbols.ver.tmp; \
  else \
    sed -n '1,/DO NOT DELETE/p' libstdc++-symbols.ver.tmp > tmp.top; \
    sed -n '/DO NOT DELETE/,$p' libstdc++-symbols.ver.tmp > tmp.bottom; \
    cat tmp.top ../../../../libstdc++-v3/config/abi/pre/float128.ver tmp.bottom
> libstdc++-symbols.ver.tmp; \
    rm tmp.top tmp.bottom; \
  fi; \
fi
/usr/bin/grep -E -v '^[         ]*#(#| |$)' libstdc++-symbols.ver.tmp | \
  /build/gcc/build-x86_64/./gcc/xgcc -B/build/gcc/build-x86_64/./gcc/
-L/opt/gcc-mingw/x86_64-w64-mingw32/lib -L/opt/gcc-mingw/mingw/lib -isystem
/opt/gcc-mingw/x86_64-w64-mingw32/include -isystem /opt/gcc-mingw/mingw/include
-B/opt/gcc-mingw/x86_64-w64-mingw32/bin/
-B/opt/gcc-mingw/x86_64-w64-mingw32/lib/ -isystem
/opt/gcc-mingw/x86_64-w64-mingw32/include -isystem
/opt/gcc-mingw/x86_64-w64-mingw32/sys-include    -E -P -include ../config.h - >
libstdc++-symbols.ver || (rm -f libstdc++-symbols.ver ; exit 1)
rm -f libstdc++-symbols.ver.tmp

Reply via email to