diff options
author | Iain Sandoe <iain@sandoe.co.uk> | 2019-07-03 18:36:28 +0000 |
---|---|---|
committer | Iain Sandoe <iains@gcc.gnu.org> | 2019-07-03 18:36:28 +0000 |
commit | 179c7ef523f4331036fe70c298c2f5f46e4ba3b1 (patch) | |
tree | 146950d97c3e654e1a40264145cc75b3ff5b44e8 /libgcc/config/rs6000 | |
parent | 911c8df0a30913ba6c84b8a65cb338e9c54efeee (diff) | |
download | gcc-179c7ef523f4331036fe70c298c2f5f46e4ba3b1.zip gcc-179c7ef523f4331036fe70c298c2f5f46e4ba3b1.tar.gz gcc-179c7ef523f4331036fe70c298c2f5f46e4ba3b1.tar.bz2 |
[Darwin] Some TLC for older Darwin versions.
The library handling and some of the options for creating the crts for
the older PPC Darwin versions had bit-rotted somewhat. This adjusts the
build criteria for the crts to avoid newer ld64 versions warnings about
mismatches in build and object versions.
Added to some of the comments that it's documented why the specs are as
they are.
2019-07-03 Iain Sandoe <iain@sandoe.co.uk>
gcc/
* config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin.
(STARTFILE_SPEC): Split crt3 into a separate spec.
(DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec.
(DARWIN_CRT2_SPEC): New.
(DARWIN_CRT3_SPEC): New.
(MIN_LD64_OMIT_STUBS): Revise to 62.1.
* config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions.
(DARWIN_CRT3_SPEC): New.
libgcc/
2019-07-03 Iain Sandoe <iain@sandoe.co.uk>
* config.host (powerpc-*-darwin*,powerpc64-*-darwin*): Revise crt
list.
* config/rs6000/t-darwin: Build crt3_2 for older systems. Revise
mmacosx-version-min for crts to run across all system versions.
* config/rs6000/t-darwin64 (LIB2ADD): Remove.
* config/t-darwin: Revise mmacosx-version-min for crts to run across
system versions >= 10.4.
From-SVN: r273016
Diffstat (limited to 'libgcc/config/rs6000')
-rw-r--r-- | libgcc/config/rs6000/t-darwin | 14 | ||||
-rw-r--r-- | libgcc/config/rs6000/t-darwin64 | 6 |
2 files changed, 10 insertions, 10 deletions
diff --git a/libgcc/config/rs6000/t-darwin b/libgcc/config/rs6000/t-darwin index 0c238b7..8b513bd 100644 --- a/libgcc/config/rs6000/t-darwin +++ b/libgcc/config/rs6000/t-darwin @@ -1,7 +1,11 @@ -DARWIN_EXTRA_CRT_BUILD_CFLAGS = -mlongcall -mmacosx-version-min=10.4 crt2.o: $(srcdir)/config/rs6000/darwin-crt2.c - $(crt_compile) $(DARWIN_EXTRA_CRT_BUILD_CFLAGS) -c $< + $(crt_compile) -mmacosx-version-min=10.1 -c $< + +# The sources for this indicate that there are some parts that +# don't apply >= 10.4 +crt3_2.o: $(srcdir)/config/darwin-crt3.c + $(crt_compile) -mmacosx-version-min=10.1 -c $< # The outlined register save/restore functions need to run anywhere, and # they must be leaf functions suitable for use in an endfile. @@ -32,10 +36,12 @@ libef_ppc.a: $(PPC_ENDFILE_OBJS) $(AR_CREATE_FOR_TARGET) $@ $(PPC_ENDFILE_OBJS) $(RANLIB_FOR_TARGET) $@ +dw_ppc.o: $(srcdir)/config/rs6000/darwin-world.S + $(crt_compile) -mmacosx-version-min=10.1 -c $< + LIB2ADD = $(srcdir)/config/rs6000/darwin-tramp.S \ $(srcdir)/config/darwin-64.c \ - $(srcdir)/config/rs6000/darwin-world.S \ - $(srcdir)/config/rs6000/ppc64-fp.c + $(srcdir)/config/rs6000/darwin-world.S # The .S files above are designed to run on all processors, even though # they use AltiVec instructions. diff --git a/libgcc/config/rs6000/t-darwin64 b/libgcc/config/rs6000/t-darwin64 index 50f09d6..999679f 100644 --- a/libgcc/config/rs6000/t-darwin64 +++ b/libgcc/config/rs6000/t-darwin64 @@ -1,7 +1 @@ LIB2_SIDITI_CONV_FUNCS = yes - -LIB2ADD = $(srcdir)/config/rs6000/darwin-tramp.S \ - $(srcdir)/config/darwin-64.c \ - $(srcdir)/config/rs6000/darwin-fpsave.S \ - $(srcdir)/config/rs6000/darwin-gpsave.S \ - $(srcdir)/config/rs6000/darwin-world.S |