Download raw body.
lang/gcc: update to 15.x, need help with testing
On Fri, 08 Aug 2025 19:17:09 +0200
Kirill A. Korinsky <kirill@korins.ky> wrote:
> Sure, attached version includes missed pice for ada as well.
>
> I had also switched to gcc-15.2.0 which was released today, but it can be,
> easly, reverted if someone doubt.
I built gcc-15.2.0 (and your update to gas-2.45) on powerpc64 after
making some changes. 15/gcc4.port.mk had references to lang/gcc/11;
I changed them to 15. My other changes are specific to powerpc64.
I had errors like,
/usr/ports/pobj/gcc-15.2.0/gcc-15.2.0/gcc/stor-layout.cc:794:26: error: use of undeclared identifier 'rs6000_special_adjust_field_align_p'; did you mean 'rs6000_special_adjust_field_align'?
794 | SET_DECL_ALIGN (decl, ADJUST_FIELD_ALIGN (decl, TREE_TYPE (decl),
| ^
The ADJUST_FIELD_ALIGN macro in rs6000/openbsd64.h looked too old, so
I copied the same macro from linux64.h, and the errors went away.
Later, I needed "make update-plist" to fix 2 missing files. I moved
the changes from update-plist to PFRAG.powerpc64-main. I also have
fake-powerpc64/usr/local/info/libquadmath.info but undid update-plist
adding libquadmath.info. (I don't have the other quadmath files in
fake-powerpc64.)
gfortran can compile my 2-line example, but I don't know whether
larger programs would work.
--gkoehler
diff -ru 15-before/gcc4.port.mk 15/gcc4.port.mk
--- 15-before/gcc4.port.mk Mon Aug 4 04:15:25 2025
+++ 15/gcc4.port.mk Mon Aug 11 13:52:58 2025
@@ -24,13 +24,13 @@
_MODGCC4_LINKS =
MODGCC4STDCPP = estdc++
-MODGCC4_CPPLIBDEP = lang/gcc/11,-libs>=15,<16
-MODGCC4_CPPDEP = lang/gcc/11,-c++>=15,<16
+MODGCC4_CPPLIBDEP = lang/gcc/15,-libs>=15,<16
+MODGCC4_CPPDEP = lang/gcc/15,-c++>=15,<16
MODGCC4_CPPWANTLIB = estdc++>=21 pthread
MODGCC4_ATOMICWANTLIB = atomic
-MODGCC4_FORTRANDEP = lang/gcc/11,-f95>=15,<16
-MODGCC4_FORTRANLIBDEP = lang/gcc/11,-libs>=15,<16
+MODGCC4_FORTRANDEP = lang/gcc/15,-f95>=15,<16
+MODGCC4_FORTRANLIBDEP = lang/gcc/15,-libs>=15,<16
MODGCC4_FORTRANWANTLIB = gfortran>=10
# XXX sync with Makefile
.if ${MACHINE_ARCH} == "amd64" || ${MACHINE_ARCH} == "i386"
@@ -40,7 +40,7 @@
.if ${_MODGCC4_ARCH_USES:L} == "yes"
. if ${MODGCC4_LANGS:L:Mc}
-BUILD_DEPENDS += lang/gcc/11>=15,<16
+BUILD_DEPENDS += lang/gcc/15>=15,<16
# XXX ports-clang already defines this
. if !${COMPILER_LINKS:Mgcc}
COMPILER_LINKS += gcc ${LOCALBASE}/bin/egcc cc ${LOCALBASE}/bin/egcc
diff -ru 15-before/patches/patch-gcc_config_rs6000_openbsd64_h 15/patches/patch-gcc_config_rs6000_openbsd64_h
--- 15-before/patches/patch-gcc_config_rs6000_openbsd64_h Mon Aug 4 04:15:25 2025
+++ 15/patches/patch-gcc_config_rs6000_openbsd64_h Mon Aug 11 19:40:22 2025
@@ -1,7 +1,7 @@
Index: gcc/config/rs6000/openbsd64.h
--- gcc/config/rs6000/openbsd64.h.orig
+++ gcc/config/rs6000/openbsd64.h
-@@ -0,0 +1,413 @@
+@@ -0,0 +1,411 @@
+/* Definitions for 64-bit PowerPC running OpenBSD using the ELF format
+ Copyright (C) 2012-2021 Free Software Foundation, Inc.
+
@@ -352,12 +352,10 @@
+/* PowerPC64 Linux word-aligns FP doubles when -malign-power is given. */
+#undef ADJUST_FIELD_ALIGN
+#define ADJUST_FIELD_ALIGN(FIELD, TYPE, COMPUTED) \
-+ (rs6000_special_adjust_field_align_p ((TYPE), (COMPUTED)) \
-+ ? 128 \
-+ : (TARGET_64BIT \
-+ && TARGET_ALIGN_NATURAL == 0 \
-+ && TYPE_MODE (strip_array_types (TYPE)) == DFmode) \
-+ ? MIN ((COMPUTED), 32) \
++ ((TARGET_64BIT \
++ && TARGET_ALIGN_NATURAL == 0 \
++ && TYPE_MODE (strip_array_types (TYPE)) == DFmode) \
++ ? MIN ((COMPUTED), 32) \
+ : (COMPUTED))
+
+#undef TOC_SECTION_ASM_OP
diff -ru 15-before/pkg/PFRAG.powerpc64-main 15/pkg/PFRAG.powerpc64-main
--- 15-before/pkg/PFRAG.powerpc64-main Fri Aug 8 13:03:20 2025
+++ 15/pkg/PFRAG.powerpc64-main Mon Aug 11 17:43:01 2025
@@ -5,11 +5,14 @@
lib/gcc/${CONFIG}/${V}/include/emmintrin.h
lib/gcc/${CONFIG}/${V}/include/htmintrin.h
lib/gcc/${CONFIG}/${V}/include/htmxlintrin.h
+lib/gcc/${CONFIG}/${V}/include/immintrin.h
lib/gcc/${CONFIG}/${V}/include/mm_malloc.h
lib/gcc/${CONFIG}/${V}/include/mmintrin.h
+lib/gcc/${CONFIG}/${V}/include/nmmintrin.h
lib/gcc/${CONFIG}/${V}/include/pmmintrin.h
lib/gcc/${CONFIG}/${V}/include/ppc-asm.h
lib/gcc/${CONFIG}/${V}/include/ppu_intrinsics.h
+lib/gcc/${CONFIG}/${V}/include/rs6000-vecdefines.h
lib/gcc/${CONFIG}/${V}/include/si2vmx.h
lib/gcc/${CONFIG}/${V}/include/smmintrin.h
lib/gcc/${CONFIG}/${V}/include/spu2vmx.h
@@ -17,6 +20,7 @@
lib/gcc/${CONFIG}/${V}/include/tmmintrin.h
lib/gcc/${CONFIG}/${V}/include/unwind.h
lib/gcc/${CONFIG}/${V}/include/vec_types.h
+lib/gcc/${CONFIG}/${V}/include/x86gprintrin.h
lib/gcc/${CONFIG}/${V}/include/x86intrin.h
lib/gcc/${CONFIG}/${V}/include/xmmintrin.h
lib/gcc/${CONFIG}/${V}/plugin/include/config/elfos.h
@@ -30,9 +34,7 @@
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/default64.h
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/openbsd64.h
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/option-defaults.h
-lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/rs6000-builtin.def
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/rs6000-cpus.def
-lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/rs6000-modes.h
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/rs6000-opts.h
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/rs6000-protos.h
lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/rs6000.h
lang/gcc: update to 15.x, need help with testing