diff options
author | Lorenzo Salvadore <salvadore@FreeBSD.org> | 2025-05-22 17:08:28 +0200 |
---|---|---|
committer | Lorenzo Salvadore <salvadore@FreeBSD.org> | 2025-05-22 17:27:55 +0200 |
commit | 5926446a4973a707e4ba3c8af737029d6f13f176 (patch) | |
tree | 4d1232a2e9c87a3bf613406146cb5dd88275660e | |
parent | lang/gcc15-devel: Update to 15.1.1.s20250517 (diff) |
lang/gcc16-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
-rw-r--r-- | lang/gcc16-devel/Makefile | 1 | ||||
-rw-r--r-- | lang/gcc16-devel/files/patch-libgcc_unwind-dw2-fde-dip.c | 23 |
2 files changed, 24 insertions, 0 deletions
diff --git a/lang/gcc16-devel/Makefile b/lang/gcc16-devel/Makefile index a57e6b356b3e..45b264f24142 100644 --- a/lang/gcc16-devel/Makefile +++ b/lang/gcc16-devel/Makefile @@ -1,5 +1,6 @@ PORTNAME= gcc PORTVERSION= 16.0.0.s20250511 +PORTREVISION= 1 CATEGORIES= lang MASTER_SITES= GCC/snapshots/${DIST_VERSION} PKGNAMESUFFIX= ${SUFFIX}-devel diff --git a/lang/gcc16-devel/files/patch-libgcc_unwind-dw2-fde-dip.c b/lang/gcc16-devel/files/patch-libgcc_unwind-dw2-fde-dip.c new file mode 100644 index 000000000000..66452b37de0f --- /dev/null +++ b/lang/gcc16-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 |