git: 6f5f51aaee2e - main - lang/gcc12: Fix segfaults for static binaries

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Mon, 10 Feb 2025 18:20:39 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/ports/commit/?id=6f5f51aaee2e3d4b217eebeccc64850b924e414a

commit 6f5f51aaee2e3d4b217eebeccc64850b924e414a
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2025-02-04 09:08:43 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2025-02-10 18:18:05 +0000

    lang/gcc12: 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/Makefile                       |  1 +
 lang/gcc12/files/patch-libgcc-config.host | 11 +++++++++++
 2 files changed, 12 insertions(+)

diff --git a/lang/gcc12/Makefile b/lang/gcc12/Makefile
index e62dda04a44c..66b1aaf674a9 100644
--- a/lang/gcc12/Makefile
+++ b/lang/gcc12/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	gcc
 PORTVERSION=	12.4.0
+PORTREVISION=	1
 CATEGORIES=	lang
 MASTER_SITES=	GCC
 PKGNAMESUFFIX=	${SUFFIX}
diff --git a/lang/gcc12/files/patch-libgcc-config.host b/lang/gcc12/files/patch-libgcc-config.host
new file mode 100644
index 000000000000..266694676d17
--- /dev/null
+++ b/lang/gcc12/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"