git: 168cb3d94f79 - main - lang/gcc12-devel: Fix segfaults for static binaries

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Tue, 04 Feb 2025 08:16:46 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/ports/commit/?id=168cb3d94f79d676bb4155c15dcfcf6a48756b6d

commit 168cb3d94f79d676bb4155c15dcfcf6a48756b6d
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2025-01-31 09:34:06 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2025-02-04 08:16:33 +0000

    lang/gcc12-devel: Fix segfaults for static binaries
    
    Fix segmentation faults caused by -static flag into compiled binaries.
    
    Email thread: https://lists.freebsd.org/archives/freebsd-hackers/2025-January/004236.html
    Upstream bug report: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118685
    
    PR:             284441
    Reported by:    kargl
---
 lang/gcc12-devel/Makefile                       |  1 +
 lang/gcc12-devel/files/patch-libgcc-config.host | 11 +++++++++++
 2 files changed, 12 insertions(+)

diff --git a/lang/gcc12-devel/Makefile b/lang/gcc12-devel/Makefile
index 5cf9b2cdd8bd..0849b6713921 100644
--- a/lang/gcc12-devel/Makefile
+++ b/lang/gcc12-devel/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	gcc
 PORTVERSION=	12.4.1.s20250123
+PORTREVISION=	1
 CATEGORIES=	lang
 MASTER_SITES=	GCC/snapshots/${DIST_VERSION}
 PKGNAMESUFFIX=	${SUFFIX}-devel
diff --git a/lang/gcc12-devel/files/patch-libgcc-config.host b/lang/gcc12-devel/files/patch-libgcc-config.host
new file mode 100644
index 000000000000..266694676d17
--- /dev/null
+++ b/lang/gcc12-devel/files/patch-libgcc-config.host
@@ -0,0 +1,11 @@
+--- libgcc/config.host.orig	2025-01-30 12:31:26.479569000 -0800
++++ libgcc/config.host	2025-01-30 12:32:03.732682000 -0800
+@@ -286,7 +286,7 @@
+   # machine-specific sections may refine and add to this
+   # configuration.
+   tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
+-  extra_parts="crtbegin.o crtend.o crtbeginS.o crtendS.o"
++  extra_parts="crtbegin.o crtend.o crtbeginS.o crtbeginT.o crtendS.o"
+   case ${target_thread_file} in
+     posix)
+       tmake_file="${tmake_file} t-freebsd-thread"