On Sat, 19 Sep 2026 22:45:01 +0200, Kirill A. Korinsky <[email protected]> wrote: > > Folks, > > here a diff and new bootstrap artifact to build macppc's gcc without bfd. > > Because gcc caches inside which LD is used, we need a new bootstrap which is > available here: > https://kirill.korins.ky/pub/distfiles/gcc-bootstrap-powerpc-16.1.0-1.tar.xz > > It was tested as: > 1. gcc-16 with old bootstrap and only patch > 2. make temprorary bootstrap > 3. gcc-16 with temprorary bootstrap, patch and LLD > 4. make final bootstrap > 5. rebuild gcc with final bootstrap, patch and LLD > > I think it is safe to commit before release. > > This, we use RELOCATABLE_NEEDS_FIXUP at powerpc64 as well. >
Folks, I'd like to go this in and for this I need mirror this bootstrap: https://kirill.korins.ky/pub/distfiles/gcc-bootstrap-powerpc-16.1.0-1.tar.xz > Index: Makefile > =================================================================== > RCS file: /cvs/ports/lang/gcc/16/Makefile,v > diff -u -p -r1.19 Makefile > --- Makefile 10 Sep 2026 12:53:43 -0000 1.19 > +++ Makefile 19 Sep 2026 20:39:02 -0000 > @@ -20,7 +20,7 @@ USE_NOEXECONLY = Yes > V = 16.1.0 > GCC_PKGSPEC = >=16,<17 > > -REVISION = 11 > +REVISION = 12 > > # aarch64, powerpc64 and sparc64 bootstrap contain only gdc > BOOTSTRAP-aarch64 = gcc-bootstrap-aarch64-16.1.0-0.tar.xz > @@ -29,7 +29,7 @@ BOOTSTRAP-arm = gcc-bootstrap-arm-16.1.0 > BOOTSTRAP-hppa = adastrap-hppa-8.3.0-1.tar.xz > BOOTSTRAP-i386 = gcc-bootstrap-i386-16.1.0-0.tar.xz > BOOTSTRAP-mips64 = gcc-bootstrap-mips64-16.1.0-1.tar.xz > -BOOTSTRAP-powerpc = gcc-bootstrap-powerpc-16.1.0-0.tar.xz > +BOOTSTRAP-powerpc = gcc-bootstrap-powerpc-16.1.0-1.tar.xz > BOOTSTRAP-powerpc64 = gcc-bootstrap-powerpc64-16.1.0-0.tar.xz > BOOTSTRAP-riscv64 = gcc-bootstrap-riscv64-16.1.0-0.tar.xz > BOOTSTRAP-sparc64 = gcc-bootstrap-sparc64-16.1.0-1.tar.xz > @@ -120,14 +120,6 @@ MAKE_FLAGS += ac_cv_path_mkdir=/bin/mkd > > CONFIGURE_ENV += ${EXTRA_ENV} > MAKE_ENV += ${EXTRA_ENV} > - > -.if ${MACHINE_ARCH} == "powerpc" > -# powerpc lld can't link C++ code from gcc, "ld: error: relocation > -# refers to a discarded section:" .data.rel.ro.* or > -# .sdata.DW.ref.__gxx_personality_v0 > -USE_LLD = No > -CONFIGURE_ENV += LDFLAGS="-Wl,--relax" > -.endif > > # Note: the configure target passes CFLAGS to the configure script anyways. > > Index: distinfo > =================================================================== > RCS file: /cvs/ports/lang/gcc/16/distinfo,v > diff -u -p -r1.9 distinfo > --- distinfo 1 Sep 2026 22:28:55 -0000 1.9 > +++ distinfo 19 Sep 2026 20:39:02 -0000 > @@ -4,7 +4,7 @@ SHA256 (gcc/gcc-bootstrap-amd64-16.1.0-0 > SHA256 (gcc/gcc-bootstrap-arm-16.1.0-0.tar.xz) = > ndwUrDAMJQscIld2dkVAHnIQwFmAUzxIPMA1rmx3LAc= > SHA256 (gcc/gcc-bootstrap-i386-16.1.0-0.tar.xz) = > Bx13vSVSmPcTdxtEuBo09V34Kk3WcJLHR+QcQdB3Q/k= > SHA256 (gcc/gcc-bootstrap-mips64-16.1.0-1.tar.xz) = > COeV2Pa/Ejq68sNqMbi4G0tVKBC6l2EYQfn2SKloczo= > -SHA256 (gcc/gcc-bootstrap-powerpc-16.1.0-0.tar.xz) = > 0zxtkr/FsgUnkrswi3pxBYUQJ35X0HaxUVeXeS/v6/w= > +SHA256 (gcc/gcc-bootstrap-powerpc-16.1.0-1.tar.xz) = > zN3YQfrXzaqRJAgiE4Eyxt/6CXW9a0uuKpV9HuZlAp8= > SHA256 (gcc/gcc-bootstrap-powerpc64-16.1.0-0.tar.xz) = > 2zEevZartfir4FoNIeP5UhWLUnZX4sqMnyisg7h4TNg= > SHA256 (gcc/gcc-bootstrap-riscv64-16.1.0-0.tar.xz) = > R4DaT0kLbPVlFXGF19+Bk9/dtfL+r348OPAUmmTnnWM= > SHA256 (gcc/gcc-bootstrap-sparc64-16.1.0-1.tar.xz) = > 7FZ++qUTpA3i+2W3gbDEcndnFTFZSd9s9KKU5PyxTmA= > @@ -14,7 +14,7 @@ SIZE (gcc/gcc-bootstrap-amd64-16.1.0-0.t > SIZE (gcc/gcc-bootstrap-arm-16.1.0-0.tar.xz) = 86586424 > SIZE (gcc/gcc-bootstrap-i386-16.1.0-0.tar.xz) = 134563524 > SIZE (gcc/gcc-bootstrap-mips64-16.1.0-1.tar.xz) = 113765716 > -SIZE (gcc/gcc-bootstrap-powerpc-16.1.0-0.tar.xz) = 123967476 > +SIZE (gcc/gcc-bootstrap-powerpc-16.1.0-1.tar.xz) = 123270236 > SIZE (gcc/gcc-bootstrap-powerpc64-16.1.0-0.tar.xz) = 94741772 > SIZE (gcc/gcc-bootstrap-riscv64-16.1.0-0.tar.xz) = 135909084 > SIZE (gcc/gcc-bootstrap-sparc64-16.1.0-1.tar.xz) = 60354124 > Index: patches/patch-gcc_config_rs6000_openbsd_h > =================================================================== > RCS file: /cvs/ports/lang/gcc/16/patches/patch-gcc_config_rs6000_openbsd_h,v > diff -u -p -r1.1.1.1 patch-gcc_config_rs6000_openbsd_h > --- patches/patch-gcc_config_rs6000_openbsd_h 2 Jun 2026 20:00:17 -0000 > 1.1.1.1 > +++ patches/patch-gcc_config_rs6000_openbsd_h 19 Sep 2026 20:39:02 -0000 > @@ -1,7 +1,7 @@ > Index: gcc/config/rs6000/openbsd.h > --- gcc/config/rs6000/openbsd.h.orig > +++ gcc/config/rs6000/openbsd.h > -@@ -0,0 +1,132 @@ > +@@ -0,0 +1,137 @@ > +/* Configuration file for an rs6000 OpenBSD target. > + Copyright (C) 1999 Free Software Foundation, Inc. > + > @@ -134,3 +134,8 @@ Index: gcc/config/rs6000/openbsd.h > +#undef TRAMPOLINE_SIZE > +#define TRAMPOLINE_SIZE 40 > + > ++/* We don't need to generate entries in .fixup, except when > ++ -mrelocatable or -mrelocatable-lib is given. */ > ++#undef RELOCATABLE_NEEDS_FIXUP > ++#define RELOCATABLE_NEEDS_FIXUP \ > ++ (rs6000_isa_flags & rs6000_isa_flags_explicit & OPTION_MASK_RELOCATABLE) > > -- > wbr, Kirill > -- wbr, Kirill
