aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorIain Sandoe <iains@gcc.gnu.org>2019-06-25 20:11:11 +0000
committerIain Sandoe <iains@gcc.gnu.org>2019-06-25 20:11:11 +0000
commita8e55c61f8b3dba1931405959c506919a6a75234 (patch)
treeb4fcc23a61599c949b013daff796639d4daf1694 /gcc
parent2c04f8476a8f00a3360bb468903c1343f126467f (diff)
downloadgcc-a8e55c61f8b3dba1931405959c506919a6a75234.zip
gcc-a8e55c61f8b3dba1931405959c506919a6a75234.tar.gz
gcc-a8e55c61f8b3dba1931405959c506919a6a75234.tar.bz2
[Darwin, PPC] Move the out of line register save/restore to an endfile.
We have been including this in libgcc, which means that we have to append -lgcc even when using shared libgcc. In preparation for revision of libgcc split this into an endfile. gcc/ 2019-06-25 Iain Sandoe <iain@sandoe.co.uk> * config/rs6000/darwin.h (ENDFILE_SPEC): New. libgcc/ 2019-06-25 Iain Sandoe <iain@sandoe.co.uk> * config.host: Add libef_ppc.a to the extra files for powerpc-darwin. * config/rs6000/t-darwin: (PPC_ENDFILE_SRC, PPC_ENDFILE_OBJS): New. Build objects for the out of line save/restore register functions so that they can be used for any supported Darwin version. * config/t-darwin: Default the build Darwin version to Darwin8 (MacOS 10.4). From-SVN: r272659
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/darwin.h5
2 files changed, 10 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 7dfd12d..9d8d109 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,4 +1,8 @@
-2019-06-24 Bill Seurer <seurer@linux.vnet.ibm.com>
+2019-06-25 Iain Sandoe <iain@sandoe.co.uk>
+
+ * config/rs6000/darwin.h (ENDFILE_SPEC): New.
+
+2019-06-25 Bill Seurer <seurer@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (stack_info, rs6000_pic_labelno,
savres_routine_syms, savres_routine_name, morestack_ref,
diff --git a/gcc/config/rs6000/darwin.h b/gcc/config/rs6000/darwin.h
index 705dd7f..fcc4354 100644
--- a/gcc/config/rs6000/darwin.h
+++ b/gcc/config/rs6000/darwin.h
@@ -132,6 +132,11 @@ extern int darwin_emit_picsym_stub;
#define DARWIN_CRT2_SPEC \
"%{!m64:%:version-compare(!> 10.4 mmacosx-version-min= crt2.o%s)}"
+/* The PPC regs save/restore functions are leaves and could, conceivably
+ be used by the tm destructor. */
+#undef ENDFILE_SPEC
+#define ENDFILE_SPEC TM_DESTRUCTOR "-lef_ppc"
+
#undef SUBTARGET_EXTRA_SPECS
#define SUBTARGET_EXTRA_SPECS \
DARWIN_EXTRA_SPECS \