From: Jeremie Courreges-Anglas Subject: Re: lang/gcc/15 for powerpc To: George Koehler Cc: ports@openbsd.org Date: Sun, 25 Jan 2026 08:42:15 +0100 On Sat, Jan 24, 2026 at 11:20:59PM -0500, George Koehler wrote: > lang/gcc/15 is broken on powerpc, but this diff might fix it. > > ports-gcc switched from 8 to 15 on 2025-12-12, but powerpc is a slow > arch, so it took more than a month for me to catch up to the problem. > The broken 15 blocks all ports that depend on ports-gcc. > > The diff adjusts PFRAG.powerpc-main for 15. The other fixes are for > Ada: use the newer adastrap, fix a time_t problem, and move > s-vsllli.ali and s-vslllu.ali (which don't exist on powerpc) to > PFRAG.128BIT-ada. > > I guess that libgnat/s-parame.ads sets time_t_bits to 32 on 32-bit > archs, but g-socket.adb assumes 64-bit time_t, > > g-socket.adb:2882:26: error: value not in range of type "time_t" defined at g-sothco.ads:47 > g-socket.adb:2882:26: error: static expression fails Constraint_Check > g-socket.adb:2884:26: error: value not in range of type "time_t" defined at g-sothco.ads:47 > g-socket.adb:2884:26: error: static expression fails Constraint_Check > > The fix uses s-parame__posix2008.ads to set time_t_bits to 64. I put > s-parame__posix2008.ads only in the powerpc section of Makefile.rtl, > but later, we might want it on all other archs (especially i386). > > I will commit this diff if I can complete 1 more build. All of this makes sense to me, ok jca@ if it builds. > --gkoehler > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/lang/gcc/15/Makefile,v > diff -u -p -r1.19 Makefile > --- Makefile 15 Jan 2026 11:47:52 -0000 1.19 > +++ Makefile 25 Jan 2026 03:34:00 -0000 > @@ -21,6 +21,7 @@ FULL_PKGVERSION = $V > GCC_PKGSPEC = >=15,<16 > > REVISION = 5 > +REVISION-ada = 6 > REVISION-f95 = 6 > > # aarch64 bootstrap contains only gdc > @@ -30,7 +31,7 @@ ADASTRAP-arm = adastrap-arm-4.9.4-0.tar. > ADASTRAP-hppa = adastrap-hppa-8.3.0-1.tar.xz > ADASTRAP-i386 = adastrap-i386-11.2.0-4.tar.xz > ADASTRAP-mips64 = adastrap-mips64-8.4.0-5.tar.xz > -ADASTRAP-powerpc = adastrap-powerpc-11.2.0-3.tar.xz > +ADASTRAP-powerpc = adastrap-powerpc-11.2.0-4.tar.xz > ADASTRAP-sparc64 = adastrap-sparc64-6.5.0-0.tar.xz > > PKGNAME-main = gcc-${FULL_PKGVERSION} > Index: distinfo > =================================================================== > RCS file: /cvs/ports/lang/gcc/15/distinfo,v > diff -u -p -r1.7 distinfo > --- distinfo 6 Dec 2025 16:05:34 -0000 1.7 > +++ distinfo 25 Jan 2026 03:34:00 -0000 > @@ -1,8 +1,8 @@ > SHA256 (gcc/adastrap-amd64-11.2.0-5.tar.xz) = xv2mjPXOBPnrbP98RlbKmbNgE3iP8MHBrShaipe/YNI= > SHA256 (gcc/adastrap-mips64-8.4.0-5.tar.xz) = Rfwenft0B3hxydQ3mqkkbFN40maQ73Jl4fgTFn1eNKQ= > -SHA256 (gcc/adastrap-powerpc-11.2.0-3.tar.xz) = acJtrhP/QyqtfDHrcXZjwI1LIBBN8C+SrTokVunndSQ= > +SHA256 (gcc/adastrap-powerpc-11.2.0-4.tar.xz) = 9KgiD7tqhcrCd8oTds/iVrmo9LXBNEAJQ+DdplytMuU= > SHA256 (gcc/gcc-15.2.0.tar.xz) = Q4/ZloJrDIJIWinaA6ctcdbjVBqD7HAt9Ccfb+Al0k4= > SIZE (gcc/adastrap-amd64-11.2.0-5.tar.xz) = 78100312 > SIZE (gcc/adastrap-mips64-8.4.0-5.tar.xz) = 49877060 > -SIZE (gcc/adastrap-powerpc-11.2.0-3.tar.xz) = 70134604 > +SIZE (gcc/adastrap-powerpc-11.2.0-4.tar.xz) = 70164724 > SIZE (gcc/gcc-15.2.0.tar.xz) = 101056276 > Index: patches/patch-gcc_ada_Makefile_rtl > =================================================================== > RCS file: /cvs/ports/lang/gcc/15/patches/patch-gcc_ada_Makefile_rtl,v > diff -u -p -r1.2 patch-gcc_ada_Makefile_rtl > --- patches/patch-gcc_ada_Makefile_rtl 7 Nov 2025 16:20:01 -0000 1.2 > +++ patches/patch-gcc_ada_Makefile_rtl 25 Jan 2026 03:34:00 -0000 > @@ -1,7 +1,7 @@ > Index: gcc/ada/Makefile.rtl > --- gcc/ada/Makefile.rtl.orig > +++ gcc/ada/Makefile.rtl > -@@ -1828,6 +1828,239 @@ ifeq ($(strip $(filter-out x86_64 pc gnu,$(target_cpu) > +@@ -1828,6 +1828,240 @@ ifeq ($(strip $(filter-out x86_64 pc gnu,$(target_cpu) > endif > endif > > @@ -128,6 +128,7 @@ Index: gcc/ada/Makefile.rtl > + s-osinte.adb + s-oslock.ads + s-osprim.adb ++ s-parame.ads + s-taprop.adb + s-taspri.ads + s-tpopsp.adb @@ -241,7 +242,7 @@ Index: gcc/ada/Makefile.rtl > # aarch64 FreeBSD > ifeq ($(SELECTED_PAIRS),PAIRS_NONE) > ifeq ($(strip $(filter-out %aarch64 freebsd%,$(target_cpu) $(target_os))),) > -@@ -3209,7 +3442,7 @@ LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o > +@@ -3209,7 +3443,7 @@ LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o > # from ADA_INCLUDE_SRCS. > > LIBGNAT_SRCS = $(patsubst %.o,%.c,$(LIBGNAT_OBJS)) \ > Index: pkg/PFRAG.128BIT-ada > =================================================================== > RCS file: /cvs/ports/lang/gcc/15/pkg/PFRAG.128BIT-ada,v > diff -u -p -r1.1.1.1 PFRAG.128BIT-ada > --- pkg/PFRAG.128BIT-ada 18 Aug 2025 19:49:25 -0000 1.1.1.1 > +++ pkg/PFRAG.128BIT-ada 25 Jan 2026 03:34:00 -0000 > @@ -79,5 +79,7 @@ lib/gcc/${CONFIG}/${V}/adalib/s-vade128. > lib/gcc/${CONFIG}/${V}/adalib/s-vafi128.ali > lib/gcc/${CONFIG}/${V}/adalib/s-valllli.ali > lib/gcc/${CONFIG}/${V}/adalib/s-vallllu.ali > +lib/gcc/${CONFIG}/${V}/adalib/s-vsllli.ali > +lib/gcc/${CONFIG}/${V}/adalib/s-vslllu.ali > lib/gcc/${CONFIG}/${V}/adalib/s-widllli.ali > lib/gcc/${CONFIG}/${V}/adalib/s-widlllu.ali > Index: pkg/PFRAG.powerpc-main > =================================================================== > RCS file: /cvs/ports/lang/gcc/15/pkg/PFRAG.powerpc-main,v > diff -u -p -r1.1.1.1 PFRAG.powerpc-main > --- pkg/PFRAG.powerpc-main 18 Aug 2025 19:49:25 -0000 1.1.1.1 > +++ pkg/PFRAG.powerpc-main 25 Jan 2026 03:34:00 -0000 > @@ -5,11 +5,14 @@ lib/gcc/${CONFIG}/${V}/include/bmiintrin > 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 > @@ -29,9 +32,7 @@ lib/gcc/${CONFIG}/${V}/plugin/include/co > lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/ > lib/gcc/${CONFIG}/${V}/plugin/include/config/rs6000/openbsd.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 > Index: pkg/PLIST-ada > =================================================================== > RCS file: /cvs/ports/lang/gcc/15/pkg/PLIST-ada,v > diff -u -p -r1.2 PLIST-ada > --- pkg/PLIST-ada 12 Dec 2025 18:19:46 -0000 1.2 > +++ pkg/PLIST-ada 25 Jan 2026 03:34:01 -0000 > @@ -2372,8 +2372,6 @@ lib/gcc/${CONFIG}/${V}/adalib/s-vs_int.a > lib/gcc/${CONFIG}/${V}/adalib/s-vs_lli.ali > lib/gcc/${CONFIG}/${V}/adalib/s-vs_llu.ali > lib/gcc/${CONFIG}/${V}/adalib/s-vs_uns.ali > -lib/gcc/${CONFIG}/${V}/adalib/s-vsllli.ali > -lib/gcc/${CONFIG}/${V}/adalib/s-vslllu.ali > lib/gcc/${CONFIG}/${V}/adalib/s-wchcnv.ali > lib/gcc/${CONFIG}/${V}/adalib/s-wchcon.ali > lib/gcc/${CONFIG}/${V}/adalib/s-wchjis.ali > -- jca