On Fri, 08 Aug 2025 19:17:09 +0200 Kirill A. Korinsky <kir...@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