* [Patch libstdc++] PR61536 Export out of line comparison operations.
@ 2014-06-18 9:42 Ramana Radhakrishnan
0 siblings, 0 replies; only message in thread
From: Ramana Radhakrishnan @ 2014-06-18 9:42 UTC (permalink / raw)
To: gcc-patches@gcc.gnu.org ;, libstdc++; +Cc: paolo.carlini
[-- Attachment #1: Type: text/plain, Size: 725 bytes --]
PR61536 is a case where linking fails on arm-linux-gnueabi* and
arm-eabi* systems as the C++ ABI for ARM specifies out of line
comparison operators for typeinfo.
Rev r211355 tightened the symbols exported by libstdc++ a bit too much
which caused some carnage in the test results for arm-linux-gnueabihf.
Paolo proposed this on the bugzilla and asked if I could commit it. I've
tweaked the comment slightly.
Tested on arm-none-linux-gnueabihf and verified the link time failures
now disappear.
Applied to trunk.
Ramana
2014-06-18 Paolo Carlini <paolo.carlini@oracle.com>
Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR libstdc++/61536
* config/abi/pre/gnu.ver: Adjust for out of line comparisons.
[-- Attachment #2: p1.txt --]
[-- Type: text/plain, Size: 1028 bytes --]
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index e7de756..63c9130 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -16,6 +16,18 @@
## You should have received a copy of the GNU General Public License along
## with this library; see the file COPYING3. If not see
## <http://www.gnu.org/licenses/>.
+// By default follow the old inline rules to avoid ABI changes.
+// Logic similar to libsupc++/typeinfo (libstdc++/61536). See
+// commentary on out of line comparisons.
+
+#ifndef __GXX_TYPEINFO_EQUALITY_INLINE
+ #if !__GXX_WEAK__
+ #define __GXX_TYPEINFO_EQUALITY_INLINE 0
+ #else
+ #define __GXX_TYPEINFO_EQUALITY_INLINE 1
+ #endif
+#endif
+
GLIBCXX_3.4 {
@@ -760,6 +772,11 @@ GLIBCXX_3.4 {
_ZNKSt9type_info1*;
_ZNSt9type_infoD*;
+#if !__GXX_TYPEINFO_EQUALITY_INLINE
+ _ZNKSt9type_info6before*;
+ _ZNKSt9type_infoeq*;
+#endif
+
# std::exception
_ZNKSt9exception4whatEv;
_ZNSt9exceptionD*;
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2014-06-18 9:42 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-06-18 9:42 [Patch libstdc++] PR61536 Export out of line comparison operations Ramana Radhakrishnan
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).