Commit 6e00bd6e by Iain Sandoe Committed by Iain Sandoe

Darwin - fix PR c++/87380

This is [intentionally] broken C++ ABI, that was catering for a
tool problem that existed in a very old Darwin toolchain.

The issue is not present after Darwin7 (using default system
tools) so confine the fix to that revision or earlier.

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: r266866
parent 89a249f2
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-06 Vladimir Makarov <vmakarov@redhat.com>
PR target/88282
......@@ -511,11 +511,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
......
......@@ -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"
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment