summaryrefslogtreecommitdiff
path: root/lang/gcc15-devel
diff options
context:
space:
mode:
Diffstat (limited to 'lang/gcc15-devel')
-rw-r--r--lang/gcc15-devel/Makefile22
-rw-r--r--lang/gcc15-devel/distinfo6
-rw-r--r--lang/gcc15-devel/files/patch-libgcc_unwind-dw2-fde-dip.c23
-rw-r--r--lang/gcc15-devel/pkg-help5
4 files changed, 40 insertions, 16 deletions
diff --git a/lang/gcc15-devel/Makefile b/lang/gcc15-devel/Makefile
index 4eed868d47df..b180557683be 100644
--- a/lang/gcc15-devel/Makefile
+++ b/lang/gcc15-devel/Makefile
@@ -1,5 +1,5 @@
PORTNAME= gcc
-PORTVERSION= 15.1.1.s20250426
+PORTVERSION= 15.2.1.s20250830
CATEGORIES= lang
MASTER_SITES= GCC/snapshots/${DIST_VERSION}
PKGNAMESUFFIX= ${SUFFIX}-devel
@@ -49,8 +49,8 @@ OPTIONS_DEFAULT_i386= STANDARD_BOOTSTRAP
OPTIONS_DEFAULT_powerpc=LTO_BOOTSTRAP
OPTIONS_DEFAULT_powerpc64=LTO_BOOTSTRAP
OPTIONS_DEFAULT_powerpc64le=LTO_BOOTSTRAP
-OPTIONS_SINGLE= BOOTSTRAP
-OPTIONS_SINGLE_BOOTSTRAP= LTO_BOOTSTRAP STANDARD_BOOTSTRAP
+OPTIONS_RADIO= BOOTSTRAP
+OPTIONS_RADIO_BOOTSTRAP= LTO_BOOTSTRAP STANDARD_BOOTSTRAP
LTO_BOOTSTRAP_DESC= Build using a full LTO bootstrap
STANDARD_BOOTSTRAP_DESC= Build using a full bootstrap without LTO
GRAPHITE_DESC= Support for Graphite loop optimizations
@@ -81,24 +81,22 @@ CONFIGURE_TARGET= x86_64-portbld-${OPSYS:tl}${OSREL}
.elif ${ARCH} == powerpc64
CONFIGURE_ARGS+= --with-abi=elfv2
-USE_GCC= yes
-
-.elif ${ARCH} == powerpc64le
-USE_GCC= yes
.endif
-.if ${ARCH} == i386
-LANGUAGES:= c,c++,objc,fortran
-.else
-LANGUAGES:= c,c++,objc,fortran,jit
+LANGUAGES= c,c++,objc,fortran
+.if ${ARCH} != i386 && !empty(PORT_OPTIONS:M*BOOTSTRAP)
+LANGUAGES:= ${LANGUAGES},jit
.endif
+
TARGLIB= ${PREFIX}/lib/gcc${SUFFIX}
TARGLIB32= ${PREFIX}/lib32 # The version information is added later
LIBEXEC= ${PREFIX}/libexec/gcc${SUFFIX}
GNU_CONFIGURE= yes
GNU_CONFIGURE_MANPREFIX=${PREFIX}/share
CONFIGURE_OUTSOURCE= yes
-.if ${PORT_OPTIONS:MLTO_BOOTSTRAP}
+.if empty(PORT_OPTIONS:M*BOOTSTRAP)
+CONFIGURE_ARGS+=--disable-bootstrap
+.elif ${PORT_OPTIONS:MLTO_BOOTSTRAP}
CONFIGURE_ARGS+=--with-build-config=bootstrap-lto-noplugin
ALL_TARGET= bootstrap-lean
PIE_UNSAFE= yes
diff --git a/lang/gcc15-devel/distinfo b/lang/gcc15-devel/distinfo
index c25e126fa010..7e228de70fda 100644
--- a/lang/gcc15-devel/distinfo
+++ b/lang/gcc15-devel/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1745914552
-SHA256 (gcc-15-20250426.tar.xz) = 5da29d2cff64251a61fbcc62bf6245710f05d2ccf8f49c8138142da700b699e7
-SIZE (gcc-15-20250426.tar.xz) = 92081764
+TIMESTAMP = 1756646163
+SHA256 (gcc-15-20250830.tar.xz) = ff984d2584184a57353c8ba5023c32963a4f9ee65a0d6362c04cef4854643ff9
+SIZE (gcc-15-20250830.tar.xz) = 92318400
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
diff --git a/lang/gcc15-devel/pkg-help b/lang/gcc15-devel/pkg-help
index 9030bbb28d3f..632e1c65f816 100644
--- a/lang/gcc15-devel/pkg-help
+++ b/lang/gcc15-devel/pkg-help
@@ -1,3 +1,6 @@
Building this port with LTO_BOOTSTRAP enabled requires significant amounts of
memory and time. Consider disabling LTO_BOOTSTRAP in favor of STANDARD_BOOTSTRAP
-(or disabling BOOTSTRAP altogether) in case that is a problem.
+in case that is a problem.
+
+Note that disabling bootstrap altogether is possible, but not recommended: some
+features (e.g. jit) requires you to choose a bootstrap option to be enabled.