From a7c70129b9cb1cc9300400dc4f4adc639f0ba9c3 Mon Sep 17 00:00:00 2001
From: Iain Sandoe <iain@sandoe.co.uk>
Date: Fri, 13 Dec 2019 21:06:22 +0000
Subject: [PATCH] [Darwin, PPC] Use Darwin9 dylib header for Rosetta builds.

On Darwin10 it's possible to make a 32b PPC build using the
'Rosetta' emulator.  However, these builds need to make use of
Darwin9 crts (for exes and dylibs).  This adds the change to
cater for dylibs.

gcc/ChangeLog:

2019-12-13  Iain Sandoe  <iain@sandoe.co.uk>

	* config/rs6000/darwin.h (DARWIN_DYLIB1_SPEC): New.

From-SVN: r279381
---
 gcc/ChangeLog              | 4 ++++
 gcc/config/rs6000/darwin.h | 6 ++++++
 2 files changed, 10 insertions(+)

diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 06b94444800a..cc14a0469c41 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,7 @@
+2019-12-13  Iain Sandoe  <iain@sandoe.co.uk>
+
+	* config/rs6000/darwin.h (DARWIN_DYLIB1_SPEC): New.
+
 2019-12-13  Jan Hubicka  <hubicka@ucw.cz>
 
 	* lto-streamer-in.c (input_function): Add node parameter.
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index d1a096f3f1c2..8cf25b00f0f6 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -173,6 +173,12 @@
    %:version-compare(!> 10.4 mmacosx-version-min= crt3_2.o%s) \
   }}"
 
+/* We need to jam the dylib1 to 10.5 for 10.6 (Rosetta) use.  */
+#undef DARWIN_DYLIB1_SPEC
+#define DARWIN_DYLIB1_SPEC						\
+  "%:version-compare(!> 10.5 mmacosx-version-min= -ldylib1.o)		\
+   %:version-compare(>< 10.5 10.7 mmacosx-version-min= -ldylib1.10.5.o)"
+
 /* The PPC regs save/restore functions are leaves and could, conceivably
    be used by the tm destructor.  */
 #undef ENDFILE_SPEC
-- 
GitLab