]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libgcc, Darwin: Drop the legacy library build for macOS >= 15 [PR116809].
authorIain Sandoe <iain@sandoe.co.uk>
Sun, 22 Sep 2024 10:43:32 +0000 (11:43 +0100)
committerIain Sandoe <iain@sandoe.co.uk>
Tue, 24 Sep 2024 18:23:02 +0000 (19:23 +0100)
We have been building a legacy libgcc_s.1 DSO to support code that
was built with older compilers.

From macOS 15,  the unwinder no longer exports some of the symbols used
in that library which (a) cuases bootstrap fail and (b) means that the
legacy library is no longer useful.

No open branch of GCC emits references to this library - and any already
-built code that depends on the symbols would need rework anyway.

PR target/116809

libgcc/ChangeLog:

* config.host: Build legacy libgcc_s.1 on hosts before macOS 15.
* config/i386/t-darwin: Remove reference to legacy libgcc_s.1
* config/rs6000/t-darwin: Likewise.
* config/t-darwin-libgccs1: New file.

Signed-off-by: Iain Sandoe <iain@sandoe.co.uk>
libgcc/config.host
libgcc/config/i386/t-darwin
libgcc/config/rs6000/t-darwin
libgcc/config/t-darwin-libgccs1 [new file with mode: 0644]

index 5c6b656531ff761b8513f368c0758245701edafc..00bd6384c0f9438702be695b07180c6235110940 100644 (file)
@@ -239,22 +239,25 @@ case ${host} in
   esac
   tmake_file="$tmake_file t-slibgcc-darwin"
   case ${host} in
+    x86_64-*-darwin2[0-3]*)
+      tmake_file="t-darwin-min-11 t-darwin-libgccs1 $tmake_file"
+      ;;
     *-*-darwin2*)
       tmake_file="t-darwin-min-11 $tmake_file"
       ;;
     *-*-darwin1[89]*)
-      tmake_file="t-darwin-min-8 $tmake_file"
+      tmake_file="t-darwin-min-8 t-darwin-libgccs1 $tmake_file"
       ;;
     *-*-darwin9* | *-*-darwin1[0-7]*)
-      tmake_file="t-darwin-min-5 $tmake_file"
+      tmake_file="t-darwin-min-5 t-darwin-libgccs1 $tmake_file"
       ;;
     *-*-darwin[4-8]*)
-      tmake_file="t-darwin-min-1 $tmake_file"
+      tmake_file="t-darwin-min-1 t-darwin-libgccs1 $tmake_file"
       ;;
     *)
       # Fall back to configuring for the oldest system known to work with
       # all archs and the current sources.
-      tmake_file="t-darwin-min-5 $tmake_file"
+      tmake_file="t-darwin-min-5 t-darwin-libgccs1 $tmake_file"
       echo "Warning: libgcc configured to support macOS 10.5" 1>&2
       ;;
   esac
index 4c18da1efbfd3a00c2dbc0bf60816709c3013bb2..c6b3acaaca2827a929b07cdc27d6e4a124ff4e8a 100644 (file)
@@ -4,6 +4,3 @@ LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi _floatditf _floatunditf
 
 # Extra symbols for this port.
 SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-darwin.ver
-
-# Build a legacy libgcc_s.1
-BUILD_LIBGCCS1 = YES
index 183d0df92ce9d9a7912b657dae4badcd2d4a1a1f..8b513bdb1d78b606d44b3f6da56527aea412fdbe 100644 (file)
@@ -56,6 +56,3 @@ unwind-dw2_s.o: HOST_LIBGCC2_CFLAGS += -maltivec
 unwind-dw2.o: HOST_LIBGCC2_CFLAGS += -maltivec
 
 LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
-
-# Build a legacy libgcc_s.1
-BUILD_LIBGCCS1 = YES
diff --git a/libgcc/config/t-darwin-libgccs1 b/libgcc/config/t-darwin-libgccs1
new file mode 100644 (file)
index 0000000..b88b1a5
--- /dev/null
@@ -0,0 +1,3 @@
+
+# Build a legacy libgcc_s.1
+BUILD_LIBGCCS1 = YES