lang/gcc15: 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:
This commit is contained in:
Lorenzo Salvadore 2025-05-28 11:41:11 +02:00
parent 1ae1fd2cee
commit 7ea3d17abb
No known key found for this signature in database
GPG Key ID: B58F7C3CF6DB8A38
2 changed files with 24 additions and 0 deletions

View File

@ -1,5 +1,6 @@
PORTNAME= gcc
PORTVERSION= 15.1.0
PORTREVISION= 1
CATEGORIES= lang
MASTER_SITES= GCC
PKGNAMESUFFIX= ${SUFFIX}

View File

@ -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