[Darwin, PPC] Collate the system library spec into one expression.

There's no need to redefine this dependent on the target header (that only
works in the case that we have self-hosting which is less and less likely
for the older system versions).

Actually, what we need is for the correct library set to be used based
on the SDK(s) that can target the chosen system.

gcc/ChangeLog:

2019-07-10  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin.h (LIB_SPEC): Collate this spec here.
	* config/rs6000/darwin7.h (LIB_SPEC): Remove.
	* config/rs6000/darwin8.h (LIB_SPEC): Remove.
	(DEF_MIN_OSX_VERSION): New.

From-SVN: r273369
This commit is contained in:
Iain Sandoe 2019-07-10 19:29:56 +00:00 committed by Iain Sandoe
parent 2cb7362310
commit 4b5c539184
4 changed files with 28 additions and 23 deletions

View File

@ -1,3 +1,10 @@
2019-07-10 Iain Sandoe <iain@sandoe.co.uk>
* config/rs6000/darwin.h (LIB_SPEC): Collate this spec here.
* config/rs6000/darwin7.h (LIB_SPEC): Remove.
* config/rs6000/darwin8.h (LIB_SPEC): Remove.
(DEF_MIN_OSX_VERSION): New.
2019-07-10 Richard Sandiford <richard.sandiford@arm.com>
* fold-const.c (fold_relational_const): Fix folding of

View File

@ -86,6 +86,24 @@ extern int darwin_emit_picsym_stub;
#define RS6000_DEFAULT_LONG_DOUBLE_SIZE 128
/* Machine dependent libraries.
Include libmx when targeting Darwin 7.0 and above, but before libSystem,
since the functions are actually in libSystem but for 7.x compatibility
we want them to be looked for in libmx first.
Include libSystemStubs when compiling against 10.3 - 10.5 SDKs (we assume
this is the case when targetting these) - but not for 64-bit long double.
Don't do either for m64, the library is either a dummy or non-existent.
*/
#undef LIB_SPEC
#define LIB_SPEC \
"%{!static: \
%{!m64:%{!mlong-double-64: \
%{pg:%:version-compare(>< 10.3 10.5 mmacosx-version-min= -lSystemStubs_profile)} \
%{!pg:%:version-compare(>< 10.3 10.5 mmacosx-version-min= -lSystemStubs)} \
%:version-compare(>< 10.3 10.4 mmacosx-version-min= -lmx)}} \
-lSystem \
}"
/* We want -fPIC by default, unless we're using -static to compile for
the kernel or some such. The "-faltivec" option should have been

View File

@ -17,21 +17,11 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Machine dependent libraries. Include libmx when compiling for
Darwin 7.0 and above, but before libSystem, since the functions are
actually in libSystem but for 7.x compatibility we want them to be
looked for in libmx first. Include libmx by default because otherwise
libstdc++ isn't usable. */
#undef LIB_SPEC
#define LIB_SPEC "%{!static:\
%: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
/* Default to the last version, with most support for C++. */
#undef DEF_MIN_OSX_VERSION
#define DEF_MIN_OSX_VERSION "10.3.9"

View File

@ -17,15 +17,5 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
/* Machine dependent libraries. Include libmx when compiling on
Darwin 7.0 and above, but before libSystem, since the functions are
actually in libSystem but for 7.x compatibility we want them to be
looked for in libmx first---but only do this if 7.x compatibility
is a concern, which it's not in 64-bit mode. Include
libSystemStubs when compiling on (not necessarily for) 8.0 and
above and not 64-bit long double. */
#undef LIB_SPEC
#define LIB_SPEC "%{!static:\
%{!mlong-double-64:%{pg:-lSystemStubs_profile;:-lSystemStubs}} \
%{!m64:%:version-compare(>< 10.3 10.4 mmacosx-version-min= -lmx)} -lSystem}"
#undef DEF_MIN_OSX_VERSION
#define DEF_MIN_OSX_VERSION "10.4"