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

Jonathan Wakely <redi at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to tomas_paukrt from comment #0)
> Some C++ programs cross-compiled with GCC 7.4.0 using -std=gnu++11 do not
> work on a system which have glibc 2.25 cross-compiled with GCC 4.9.4 even if
> the symbol _GLIBCXX_USE_CXX11_ABI was set to zero during cross-compilation.

What has the glibc version got to do with anything?

> A program that calls constructor out_of_range(const char*) will be using
> symbol _ZNSt12out_of_rangeC1EPKc@GLIBCXX_3.4.21 which is not present on the
> old system

If it's not present on the old system that means you're not using the
libstdc++.so from GCC 7.4.0, which you're required to do. You can't compile
with a new GCC and then use an old libstdc++.so at runtime. That's always been
true. Defining _GLIBCXX_USE_CXX11_ABI has nothing to do with that.

Reply via email to