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

            Bug ID: 92192
           Summary: Undefined symbols in libstdc++ when compiled with lto
           Product: gcc
           Version: 9.2.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: as at emlix dot com
  Target Milestone: ---

I built GCC 9.2.0 with link time optimization (lto) support:

CFLAGS="-flto" \
CXXFLAGS="-flto" \
../configure \
    --enable-languages=c,c++ \
    --enable-lto \
    AR=gcc-ar \
    NM=gcc-nm \
    RANLIB=gcc-ranlib

make

When checking symbols of libstdc++, I see a huge list of undefined C and one
C++ symbol:

nm -DC ./prev-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6.0.27 |
grep ' U ' | grep std::

> U std::istream::ignore(long)
> U std::basic_istream<wchar_t, std::char_traits<wchar_t> >::ignore(long)

I could also reproduce this issue with GCC 7.1, 7.4 and 8.3.

Reply via email to