pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/lang/gcc12
Module Name: pkgsrc
Committed By: brook
Date: Sun Dec 15 03:05:12 UTC 2024
Modified Files:
pkgsrc/lang/gcc12: distinfo
pkgsrc/lang/gcc12/patches: patch-libgcc_config.host
Added Files:
pkgsrc/lang/gcc12/patches: patch-libgcc_config_i386_t-darwin
patch-libgcc_config_rs6000_t-darwin
patch-libgcc_config_t-darwin-libgccs1
patch-libgcc_config_t-darwin-min-11
Log Message:
The lang/gcc12, lang/gcc13, and lang/gcc14 fail to build on Darwin 24
(MacOS 15) + Xcode 16. This is a known problem that has been fixed
upstream; see
https://nam10.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgcc.gnu.org%2Fbugzilla%2Fshow_bug.cgi%3Fid%3D116809&data=05%7C02%7Cbrook%40biology.nmsu.edu%7C9ac029bebed94a8c076f08dd19568e63%7Ca3ec87a89fb84158ba8ff11bace1ebaa%7C1%7C0%7C638694581737865288%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=DIvQP0mbOte9Pjh3UjtXsSGiQhTontx4GTQHNCFwg6E%3D&reserved=0
and associated patches from 2024-09-24 and 2024-09-27.
The basic problem is that the legacy library libgcc_s.1 referenced
private symbols in the Apple-provided runtime, which have now been
removed by Apple and therefore do not resolve. Those symbols never
worked anyway, so there should be no legacy code using them. The
upstream solution is to drop support for libgcc_s.1 for new versions
of Darwin.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 pkgsrc/lang/gcc12/distinfo
cvs rdiff -u -r1.1 -r1.2 pkgsrc/lang/gcc12/patches/patch-libgcc_config.host
cvs rdiff -u -r0 -r1.1 \
pkgsrc/lang/gcc12/patches/patch-libgcc_config_i386_t-darwin \
pkgsrc/lang/gcc12/patches/patch-libgcc_config_rs6000_t-darwin \
pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-libgccs1 \
pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-min-11
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/lang/gcc12/distinfo
diff -u pkgsrc/lang/gcc12/distinfo:1.8 pkgsrc/lang/gcc12/distinfo:1.9
--- pkgsrc/lang/gcc12/distinfo:1.8 Fri Jun 28 19:16:00 2024
+++ pkgsrc/lang/gcc12/distinfo Sun Dec 15 03:05:12 2024
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.8 2024/06/28 19:16:00 adam Exp $
+$NetBSD: distinfo,v 1.9 2024/12/15 03:05:12 brook Exp $
BLAKE2s (gcc-12.4.0.diff) = ff17898717cb3781dd802a3376ce9a659df97d7d4a3ec3c4bd26279755ab752b
SHA512 (gcc-12.4.0.diff) = 1e5df17525c13ff3b79117ffb426726c47a9bbb1ffb8555a75083eff5b2134c728decf765be24e4e0bb21685e60973211e359027e9b90f298e24b501cbc899aa
@@ -24,7 +24,11 @@ SHA1 (patch-gcc_targhooks.cc) = 3bd54b7c
SHA1 (patch-isl_configure) = 5523c76d95b229b3cd25461b4c2b7af24bf2534e
SHA1 (patch-libffi_configure) = 919bbe094e3ce547a0186eeaddb20a662595f79a
SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 89e2dd6aaf2c1f75726f02362d8a8bf7178694ea
-SHA1 (patch-libgcc_config.host) = d40d4d08c807eeff98cc246d1ea756b5b2c749b0
+SHA1 (patch-libgcc_config.host) = 9f7c7571408bb2112d77257dfaea3558c6ed9e06
+SHA1 (patch-libgcc_config_i386_t-darwin) = bf59366eec8a9210ccdf9e79ab770263961c92e5
+SHA1 (patch-libgcc_config_rs6000_t-darwin) = c428d1e58617f55fcf93e2672b4956ce79433834
+SHA1 (patch-libgcc_config_t-darwin-libgccs1) = 2924a8e5ca8baf72003ee8f832a7bb73eca26ba0
+SHA1 (patch-libgcc_config_t-darwin-min-11) = 4264fa3e974819daf6bb1641f066db3faea9224c
SHA1 (patch-libgcc_crtstuff.c) = a16d465039de00c195cf0694560140a9c38f3a25
SHA1 (patch-libgfortran_io_io.h) = d44676239a7f45e42054d24bd5224f43c20055c0
SHA1 (patch-libquadmath_printf_quadmath-printf.c) = 78e09f1e6d61ee57cee83275093cf46b2335d204
Index: pkgsrc/lang/gcc12/patches/patch-libgcc_config.host
diff -u pkgsrc/lang/gcc12/patches/patch-libgcc_config.host:1.1 pkgsrc/lang/gcc12/patches/patch-libgcc_config.host:1.2
--- pkgsrc/lang/gcc12/patches/patch-libgcc_config.host:1.1 Thu Jun 16 15:43:55 2022
+++ pkgsrc/lang/gcc12/patches/patch-libgcc_config.host Sun Dec 15 03:05:12 2024
@@ -1,11 +1,72 @@
-$NetBSD: patch-libgcc_config.host,v 1.1 2022/06/16 15:43:55 adam Exp $
+$NetBSD: patch-libgcc_config.host,v 1.2 2024/12/15 03:05:12 brook Exp $
-This is needed for arm64 to get Out-of-line LSE atomics linked into libgcc.
+Part 1: drop legacy library build for macOS >= 14 [PR116809].
+
+This is a mixture of two upstream patches. See
+
+ https://github.com/gcc-mirror/gcc/blob/master/libgcc/config.host
+
+libgcc, Darwin: Drop the legacy library build for macOS >= 15 [PR116809].
+
+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, Darwin: Don't build legacy libgcc_s.1 on macOS 14 [PR116809]
+
+d9cafa0 stopped building libgcc_s.1 on macOS >= 15, in part because
+that is required to bootstrap the compiler using the macOS 15 SDK. The
+macOS 15 SDK ships in Xcode 16, which also runs on macOS 14. libgcc_s.1
+can no longer be built on macOS 14 using Xcode 16 by the same logic that
+the previous change disabled it for macOS 15.
+
+ PR target/116809
+
+Parts 2-3: This is needed for arm64 to get Out-of-line LSE atomics linked into libgcc.
libsupc++ fails to link without this, and for arm to build.
---- libgcc/config.host.orig 2021-04-08 04:56:29.805761640 -0700
-+++ libgcc/config.host 2022-02-02 04:08:51.653635705 -0800
-@@ -377,6 +377,7 @@
+--- libgcc/config.host.orig 2024-06-20 08:08:09.000000000 +0000
++++ libgcc/config.host
+@@ -243,19 +243,25 @@ case ${host} in
+ tmake_file="$tmake_file t-slibgcc-darwin"
+ # newer toolsets produce warnings when building for unsupported versions.
+ case ${host} in
+- *-*-darwin1[89]* | *-*-darwin2* )
+- tmake_file="t-darwin-min-8 $tmake_file"
++ x86_64-*-darwin2[0-2]*)
++ 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 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
+@@ -412,6 +418,7 @@ aarch64*-*-freebsd*)
aarch64*-*-netbsd*)
extra_parts="$extra_parts crtfastmath.o"
tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
@@ -13,7 +74,7 @@ libsupc++ fails to link without this, an
tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
md_unwind_header=aarch64/aarch64-unwind.h
;;
-@@ -463,7 +464,8 @@
+@@ -499,7 +506,8 @@ arm*-*-netbsdelf*)
case ${host} in
arm*-*-netbsdelf-*eabi*)
tmake_file="${tmake_file} arm/t-netbsd-eabi"
Added files:
Index: pkgsrc/lang/gcc12/patches/patch-libgcc_config_i386_t-darwin
diff -u /dev/null pkgsrc/lang/gcc12/patches/patch-libgcc_config_i386_t-darwin:1.1
--- /dev/null Sun Dec 15 03:05:12 2024
+++ pkgsrc/lang/gcc12/patches/patch-libgcc_config_i386_t-darwin Sun Dec 15 03:05:12 2024
@@ -0,0 +1,27 @@
+$NetBSD: patch-libgcc_config_i386_t-darwin,v 1.1 2024/12/15 03:05:12 brook Exp $
+
+libgcc, Darwin: Drop the legacy library build for macOS >= 15 [PR116809].
+
+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
+
+See https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/i386/t-darwin.
+
+--- libgcc/config/i386/t-darwin.orig 2024-06-20 08:08:09.000000000 +0000
++++ libgcc/config/i386/t-darwin
+@@ -4,6 +4,3 @@ LIB2FUNCS_EXCLUDE = _fixtfdi _fixunstfdi
+
+ # Extra symbols for this port.
+ SHLIB_MAPFILES += $(srcdir)/config/i386/libgcc-darwin.ver
+-
+-# Build a legacy libgcc_s.1
+-BUILD_LIBGCCS1 = YES
Index: pkgsrc/lang/gcc12/patches/patch-libgcc_config_rs6000_t-darwin
diff -u /dev/null pkgsrc/lang/gcc12/patches/patch-libgcc_config_rs6000_t-darwin:1.1
--- /dev/null Sun Dec 15 03:05:12 2024
+++ pkgsrc/lang/gcc12/patches/patch-libgcc_config_rs6000_t-darwin Sun Dec 15 03:05:12 2024
@@ -0,0 +1,27 @@
+$NetBSD: patch-libgcc_config_rs6000_t-darwin,v 1.1 2024/12/15 03:05:12 brook Exp $
+
+libgcc, Darwin: Drop the legacy library build for macOS >= 15 [PR116809].
+
+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
+
+See https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/rs6000/t-darwin.
+
+--- libgcc/config/rs6000/t-darwin.orig 2024-06-20 08:08:09.000000000 +0000
++++ libgcc/config/rs6000/t-darwin
+@@ -56,6 +56,3 @@ unwind-dw2_s.o: HOST_LIBGCC2_CFLAGS += -
+ unwind-dw2.o: HOST_LIBGCC2_CFLAGS += -maltivec
+
+ LIB2ADDEH += $(srcdir)/config/rs6000/darwin-fallback.c
+-
+-# Build a legacy libgcc_s.1
+-BUILD_LIBGCCS1 = YES
Index: pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-libgccs1
diff -u /dev/null pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-libgccs1:1.1
--- /dev/null Sun Dec 15 03:05:12 2024
+++ pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-libgccs1 Sun Dec 15 03:05:12 2024
@@ -0,0 +1,23 @@
+$NetBSD: patch-libgcc_config_t-darwin-libgccs1,v 1.1 2024/12/15 03:05:12 brook Exp $
+
+libgcc, Darwin: Drop the legacy library build for macOS >= 15 [PR116809].
+
+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
+
+See https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/t-darwin-libgccs1.
+
+--- libgcc/config/t-darwin-libgccs1.orig 2024-12-11 18:34:57.149966944 +0000
++++ libgcc/config/t-darwin-libgccs1
+@@ -0,0 +1,2 @@
++# Build a legacy libgcc_s.1
++BUILD_LIBGCCS1 = YES
Index: pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-min-11
diff -u /dev/null pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-min-11:1.1
--- /dev/null Sun Dec 15 03:05:12 2024
+++ pkgsrc/lang/gcc12/patches/patch-libgcc_config_t-darwin-min-11 Sun Dec 15 03:05:12 2024
@@ -0,0 +1,17 @@
+$NetBSD: patch-libgcc_config_t-darwin-min-11,v 1.1 2024/12/15 03:05:12 brook Exp $
+
+libgcc, Darwin: From macOS 11, make that the earliest supported.
+
+For libgcc, we have (so far) supported building a DSO that supports
+earlier versions of the OS than the target. From macOS 11, there are
+APIs that do not exist on earlier OS versions, so limit the libgcc
+range to macOS11..current.
+
+See https://github.com/gcc-mirror/gcc/blob/master/libgcc/config/t-darwin-min-11.
+
+--- libgcc/config/t-darwin-min-11.orig 2024-12-11 18:34:57.240111740 +0000
++++ libgcc/config/t-darwin-min-11
+@@ -0,0 +1,3 @@
++# Support building with -mmacosx-version-min back to macOS 11.
++DARWIN_MIN_LIB_VERSION = -mmacosx-version-min=11
++DARWIN_MIN_CRT_VERSION = -mmacosx-version-min=11
Home |
Main Index |
Thread Index |
Old Index