[Bug libstdc++/52765] -std=c++0x requires multilib for non-optimized libstdc++
paolo.carlini at oracle dot com
gcc-bugzilla@gcc.gnu.org
Thu Mar 29 13:13:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52765
Paolo Carlini <paolo.carlini at oracle dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2012-03-29
Ever Confirmed|0 |1
--- Comment #4 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-03-29 13:12:40 UTC ---
Something seems fishy on x86_64-linux too, with the library built -O0 and
-std=c++11 I see random segfaults.
But since the problem seems simply that at -O0 we have these *additional*
unwanted exports:
000000000008031e W std::complex<double>::imag() const
0000000000080310 W std::complex<double>::real() const
0000000000080394 W std::complex<long double>::imag() const
0000000000080386 W std::complex<long double>::real() const
00000000000802ac W std::complex<float>::imag() const
000000000008029e W std::complex<float>::real() const
00000000000802e4 W std::complex<double>::complex(double, double)
00000000000802e4 W std::complex<double>::complex(double, double)
0000000000080330 W std::complex<double>::operator=(double)
0000000000080358 W std::complex<long double>::complex(long double, long double)
0000000000080358 W std::complex<long double>::complex(long double, long double)
00000000000803a6 W std::complex<long double>::operator=(long double)
0000000000080276 W std::complex<float>::complex(float, float)
0000000000080276 W std::complex<float>::complex(float, float)
00000000000802be W std::complex<float>::operator=(float)
I suppose the fix should be straightforward: just tighten the linker map and
prevent that from happening.
More information about the Gcc-bugs
mailing list