git: 1a30d52dd1d6 - main - lang/gcc15-devel: Unbreak on aarch64

From: Lorenzo Salvadore <salvadore_at_FreeBSD.org>
Date: Thu, 22 May 2025 15:28:46 UTC
The branch main has been updated by salvadore:

URL: https://cgit.FreeBSD.org/ports/commit/?id=1a30d52dd1d6174e42c42dbbc4bed624c7c122cb

commit 1a30d52dd1d6174e42c42dbbc4bed624c7c122cb
Author:     Lorenzo Salvadore <salvadore@FreeBSD.org>
AuthorDate: 2025-05-16 16:12:36 +0000
Commit:     Lorenzo Salvadore <salvadore@FreeBSD.org>
CommitDate: 2025-05-22 15:27:54 +0000

    lang/gcc15-devel: Unbreak on aarch64
    
    FreeBSD defines ElfW(x) to translate Linux's convention to FreeBSD's convention.
    GCC defines ElfW to convert its convention to FreeBSD's convention. This patch
    removes the conversion defined by GCC so that the FreeBSD conversion only is
    applied.
    
    Co-authored-by: Mark Millard <marklmi26-fbsd@yahoo.com>
    
    PR:             282797
    Reported by:    John F. Carr <jfc@mit.edu>
    Email Thread:   https://lists.freebsd.org/archives/freebsd-toolchain/2025-May/002282.html
---
 lang/gcc15-devel/Makefile                          |  1 +
 .../files/patch-libgcc_unwind-dw2-fde-dip.c        | 23 ++++++++++++++++++++++
 2 files changed, 24 insertions(+)

diff --git a/lang/gcc15-devel/Makefile b/lang/gcc15-devel/Makefile
index 20158b2696b5..d893884a86e4 100644
--- a/lang/gcc15-devel/Makefile
+++ b/lang/gcc15-devel/Makefile
@@ -1,5 +1,6 @@
 PORTNAME=	gcc
 PORTVERSION=	15.1.1.s20250510
+PORTREVISION=	1
 CATEGORIES=	lang
 MASTER_SITES=	GCC/snapshots/${DIST_VERSION}
 PKGNAMESUFFIX=	${SUFFIX}-devel
diff --git a/lang/gcc15-devel/files/patch-libgcc_unwind-dw2-fde-dip.c b/lang/gcc15-devel/files/patch-libgcc_unwind-dw2-fde-dip.c
new file mode 100644
index 000000000000..66452b37de0f
--- /dev/null
+++ b/lang/gcc15-devel/files/patch-libgcc_unwind-dw2-fde-dip.c
@@ -0,0 +1,23 @@
+FreeBSD defines ElfW(x) to translate Linux's convention to FreeBSD's convention.
+GCC defines ElfW to convert its convention to FreeBSD's convention. This patch
+removes the conversion defined by GCC so that the FreeBSD conversion only is
+applied.
+
+--- libgcc/unwind-dw2-fde-dip.c.orig	2025-05-16 15:47:38 UTC
++++ libgcc/unwind-dw2-fde-dip.c
+@@ -59,13 +59,13 @@
+ 
+ #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+     && defined(TARGET_DL_ITERATE_PHDR) \
+-    && defined(__linux__)
++    && (defined(__linux__) || defined(__FreeBSD__))
+ # define USE_PT_GNU_EH_FRAME
+ #endif
+ 
+ #if !defined(inhibit_libc) && defined(HAVE_LD_EH_FRAME_HDR) \
+     && defined(TARGET_DL_ITERATE_PHDR) \
+-    && (defined(__DragonFly__) || defined(__FreeBSD__))
++    && defined(__DragonFly__)
+ # define ElfW __ElfN
+ # define USE_PT_GNU_EH_FRAME
+ #endif