]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Fix PR c++/87380 (ABI breakage) for Darwin.
authorIain Sandoe <iain@sandoe.co.uk>
Mon, 24 Dec 2018 13:17:28 +0000 (13:17 +0000)
committerIain Sandoe <iains@gcc.gnu.org>
Mon, 24 Dec 2018 13:17:28 +0000 (13:17 +0000)
2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>

Backport from mainline
2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>

PR c++/87380
* config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove, use the
default.
* config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New.

From-SVN: r267409

gcc/ChangeLog
gcc/config/darwin.h
gcc/config/rs6000/darwin7.h

index 2950768e0077436730576b60d51a985c7da512be..f208bbcc3b09fc34643f60faf574ab884ecc437c 100644 (file)
@@ -1,3 +1,13 @@
+2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>
+
+       Backport from mainline
+       2018-12-06  Iain Sandoe  <iain@sandoe.co.uk>
+
+       PR c++/87380
+       * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove, use the
+       default.
+       * config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New.
+
 2018-12-24  Iain Sandoe  <iain@sandoe.co.uk>
 
        Backport from mainline
index 6792289d1c84aea5171b13e9bb94f5f6605abae2..8bb79a445d783701c3710570d43fc659f6e2e3dc 100644 (file)
@@ -504,11 +504,6 @@ extern GTY(()) int darwin_ms_struct;
    links to, so there's no need for weak-ness for that.  */
 #define GTHREAD_USE_WEAK 0
 
-/* The Darwin linker doesn't want coalesced symbols to appear in
-   a static archive's table of contents. */
-#undef TARGET_WEAK_NOT_IN_ARCHIVE_TOC
-#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 1
-
 /* On Darwin, we don't (at the time of writing) have linkonce sections
    with names, so it's safe to make the class data not comdat.  */
 #define TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT hook_bool_void_false
index f5e9f8930308c139a87e666dfde0b3a2bb37cc11..5146707c6aa50eedc2bd60f5a502a973909ac247 100644 (file)
@@ -28,5 +28,10 @@ along with GCC; see the file COPYING3.  If not see
   %:version-compare(!< 10.3 mmacosx-version-min= -lmx)\
   -lSystem}"
 
+/* This generation of tools (specifically the archive tool) did not
+   export weak symbols from the TOC. */
+#undef TARGET_WEAK_NOT_IN_ARCHIVE_TOC
+#define TARGET_WEAK_NOT_IN_ARCHIVE_TOC 1
+
 #undef DEF_MIN_OSX_VERSION
 #define DEF_MIN_OSX_VERSION "10.3.9"