diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6166215f5f4..5d3c8d42401 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2019-07-10 Iain Sandoe + + * 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 * fold-const.c (fold_relational_const): Fix folding of diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h index b0b50476970..272cd454189 100644 --- a/gcc/config/rs6000/darwin.h +++ b/gcc/config/rs6000/darwin.h @@ -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 diff --git a/gcc/config/rs6000/darwin7.h b/gcc/config/rs6000/darwin7.h index d299074eacc..6a3adc0297c 100644 --- a/gcc/config/rs6000/darwin7.h +++ b/gcc/config/rs6000/darwin7.h @@ -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 . */ -/* 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" diff --git a/gcc/config/rs6000/darwin8.h b/gcc/config/rs6000/darwin8.h index ca4ede21046..ec5a8af37cd 100644 --- a/gcc/config/rs6000/darwin8.h +++ b/gcc/config/rs6000/darwin8.h @@ -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 . */ -/* 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"