NetBSD Problem Report #60439

From he@smistad.uninett.no  Fri Jul 10 21:20:13 2026
Return-Path: <he@smistad.uninett.no>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)
	 key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256
	 client-signature RSA-PSS (2048 bits) client-digest SHA256)
	(Client CN "mail.netbsd.org", Issuer "YR2" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id C2F9B1A923E
	for <gnats-bugs@gnats.NetBSD.org>; Fri, 10 Jul 2026 21:20:13 +0000 (UTC)
Message-Id: <20260710212008.4A70A43F6A8@smistad.uninett.no>
Date: Fri, 10 Jul 2026 23:20:08 +0200 (CEST)
From: he@NetBSD.org
Reply-To: he@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6 but succeeds on 10.0
X-Send-Pr-Version: 3.95
X-From4GNATS: "he@NetBSD.org via gnats" <gnats-admin@NetBSD.org>

>Number:         60439
>Category:       pkg
>Synopsis:       lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6 but succeeds on 10.0
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    pkg-manager
>State:          pending-pullups
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jul 10 21:25:00 +0000 2026
>Closed-Date:    
>Last-Modified:  Wed Sep 02 02:12:14 +0000 2026
>Originator:     Havard Eidnes
>Release:        NetBSD 11.0_RC6
>Organization:
	I try...
>Environment:
System: NetBSD bramley.urc.uninett.no 11.0_RC6 NetBSD 11.0_RC6 (BRAMLEY) #3: Thu Jul  9 23:46:40 CEST 2026  he@bramley.urc.uninett.no:/usr/obj/sys/arch/macppc/compile/BRAMLEY macppc
Architecture: powerpc
Machine: macppc
>Description:
	The lang/gcc12 package fails to build on NetBSD/macppc 11.0_RC6,
	while it succeeds on 10.0.

	The build log contains, after 1:53h wallclock time on this system:

checking whether we are cross compiling... configure: error: in `/usr/pkgsrc/lang/gcc12/work/build/powerpc--netbsd/soft-float/libgcc':
configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details
gmake[2]: *** [Makefile:22318: configure-stage1-target-libgcc] Error 1

	The config.log file in work/build/powerpc--netbsd/soft-float/libgcc
	ends with

configure:3748: checking whether we are cross compiling
configure:3756: /usr/pkgsrc/lang/gcc12/work/build/./gcc/xgcc -B/usr/pkgsrc/lang/gcc12/work/build/./gcc/ -B/usr/pkg/gcc12/powerpc--netbsd/bin/ -B/usr/pkg/gcc12/powerpc--netbsd/lib/ -isystem /usr/pkg/gcc12/powerpc--netbsd/include -isystem /usr/pkg/gcc12/powerpc--netbsd/sys-include -fno-checking  -msoft-float -fPIC -mstrict-align -o conftest -g -O2 -I/usr/include  -Wl,-zrelro conftest.c  >&5
configure:3760: $? = 0
configure:3767: ./conftest
[1]   Abort trap              ./conftest${ac_cv_exeext}
configure:3771: $? = 134
configure:3778: error: in `/usr/pkgsrc/lang/gcc12/work/build/powerpc--netbsd/soft-float/libgcc':
configure:3782: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details

	and inspecting around line 3748 in the configure script reveals
	the conftest.c contents to be

#include <stdio.h>
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
 return ferror (f) || fclose (f) != 0;

  ;
  return 0;
}

	Re-doing the build as above does indeed produce an executable
	which just exits with "Abort":

$ ./conftest
[1]   Abort trap              ./conftest
$ 

	Doing ktrace -i of the program reveals almost nothing:

$ ktrace -i ./conftest
[1]   Abort trap              ktrace -i ./conftest
$ kdump
 25558  25558 ktrace   EMUL  "netbsd"
 25558  25558 ktrace   CALL  execve(0xfffdd6c6,0xfffdd1cc,0xfffdd1d4)
 25558  25558 ktrace   NAMI  "/usr/pkgsrc/lang/gcc12/work/build/powerpc--netbsd/soft-float/libgcc/./conftest"
 25558  25558 ktrace   NAMI  "/usr/libexec/ld.elf_so"
$ 

	Running ut under gdb makes it succeed:

$ gdb -q conftest
Reading symbols from conftest...
(gdb) run
Starting program: /usr/pkgsrc/lang/gcc12/work/build/powerpc--netbsd/soft-float/libgcc/conftest 
[Inferior 1 (process 14924) exited normally]
(gdb) quit
$ 

	Changing the "m" PaX flag also makes it succeed:

$ paxctl conftest
No PaX flags.
$ paxctl +m conftest
$ paxctl conftest
PaX flags:
  m: mprotect(2) restrictions, explicit disable
$ ./conftest
$ echo $?
0
$ 

	Looking at the program headers with "readelf -a" shows
	among other things:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  PHDR           0x000034 0x01800034 0x01800034 0x00100 0x00100 R   0x4
  INTERP         0x000134 0x01800134 0x01800134 0x00017 0x00017 R   0x1
      [Requesting program interpreter: /usr/libexec/ld.elf_so]
  LOAD           0x000000 0x01800000 0x01800000 0x00c20 0x00c20 R E 0x10000
  LOAD           0x00fec8 0x0181fec8 0x0181fec8 0x0014c 0x0024c RWE 0x10000
  DYNAMIC        0x00ff48 0x0181ff48 0x0181ff48 0x000b8 0x000b8 RW  0x4
  NOTE           0x00014c 0x0180014c 0x0180014c 0x0002c 0x0002c R   0x4
  GNU_EH_FRAME   0x000a70 0x01800a70 0x01800a70 0x0003c 0x0003c R   0x4
  GNU_RELRO      0x00fec8 0x0181fec8 0x0181fec8 0x00138 0x00138 R   0x1

	while the same program compiled with basically the same options
	by the in-tree compiler results in a slight difference:

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  PHDR           0x000034 0x01800034 0x01800034 0x00100 0x00100 R   0x4
  INTERP         0x000134 0x01800134 0x01800134 0x00017 0x00017 R   0x1
      [Requesting program interpreter: /usr/libexec/ld.elf_so]
  LOAD           0x000000 0x01800000 0x01800000 0x00d04 0x00d04 R E 0x10000
  LOAD           0x00febc 0x0181febc 0x0181febc 0x00170 0x001b0 RW  0x10000
  DYNAMIC        0x00ff3c 0x0181ff3c 0x0181ff3c 0x000b8 0x000b8 RW  0x4
  NOTE           0x00014c 0x0180014c 0x0180014c 0x0002c 0x0002c R   0x4
  GNU_EH_FRAME   0x000b38 0x01800b38 0x01800b38 0x00044 0x00044 R   0x4
  GNU_RELRO      0x00febc 0x0181febc 0x0181febc 0x00144 0x00144 R   0x1

	Notice that the first one has a segment with both 'W' and 'E'
	flags set, which looks wrong.

	Doing the two builds with '-v' option reveals that the package
	uses its own collect2 program to link:

 /usr/pkgsrc/lang/gcc12/work/build/./gcc/collect2 -plugin /usr/pkgsrc/lang/gcc12/work/build/./gcc/liblto_plugin.so -plugin-opt=/usr/pkgsrc/lang/gcc12/work/build/./gcc/lto-wrapper -plugin-opt=-fresolution=/tmp//ccG9V0da.res -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lgcc_s --eh-frame-hdr -dc -dp -e _start -dynamic-linker /usr/libexec/ld.elf_so -o conftest /usr/lib/crt0.o /usr/lib/crti.o /usr/lib/crtbegin.o -L/usr/pkg/gcc12/powerpc--netbsd/lib/soft-float -L/usr/pkgsrc/lang/gcc12/work/build/./gcc -L/usr/pkg/gcc12/powerpc--netbsd/lib -R/usr/pkg/gcc12/powerpc--netbsd/lib/soft-float -R/usr/pkg/gcc12/lib/soft-float -zrelro /tmp//ccFtnYVI.o -lgcc --push-state --as-needed -lgcc_s --pop-state -lc -lgcc --push-state --as-needed -lgcc_s --pop-state /usr/lib/crtend.o /usr/lib/crtn.o

	while the in-tree compiler uses 'ld':

 ld -plugin /usr/libexec/liblto_plugin.so -plugin-opt=/usr/libexec/lto-wrapper -plugin-opt=-fresolution=/tmp//cceKrxcm.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -dc -dp -e _start -dynamic-linker /usr/libexec/ld.elf_so -o conftest.in-tree-gcc /usr/lib/crt0.o /usr/lib/crti.o /usr/lib/crtbegin.o -zrelro /tmp//cctmwYeg.o --as-needed -lgcc_s --no-as-needed -lgcc -lc --as-needed -lgcc_s --no-as-needed -lgcc /usr/lib/crtend.o /usr/lib/crtn.o

	But still, why the inside-gcc collect2 does what it does
	I do not know.

	And ... I'm also surprised that this package successfully
	builds on NetBSD/macppc 10.0.

	"Help!"

>How-To-Repeat:
	See above.
>Fix:
	Would be nice.

>Release-Note:

>Audit-Trail:

From: Havard Eidnes <he@NetBSD.org>
To: gnats-bugs@netbsd.org, gnats-admin@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Sun, 12 Jul 2026 15:57:12 +0200 (CEST)

 Hi,

 I took a look at the executables with "objdump -x", and looking
 for the sections with "CODE", for the one compiled with the
 in-tree gcc, I find:

   8 .init         00000020  0180040c  0180040c  0000040c  2**2
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
   9 .text         000006c0  01800430  01800430  00000430  2**4
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
  10 .fini         00000020  01800af0  01800af0  00000af0  2**2
                   CONTENTS, ALLOC, LOAD, READONLY, CODE

 However, for the one built by the half-built gcc12 compiler, I
 additionally find:

  20 .got          00000010  01820000  01820000  00010000  2**2
                   CONTENTS, ALLOC, LOAD, CODE
  21 .sdata        00000004  01820010  01820010  00010010  2**2
                   CONTENTS, ALLOC, LOAD, DATA
  22 .sbss         00000010  01820018  01820018  00010014  2**3
                   ALLOC
  23 .plt          000000c0  01820028  01820028  00010014  2**2
                   ALLOC, CODE

 and those two "CODE" marked sections are not marked as "CODE"
 when using the in-tree compiler.

 I've already tried linking the gcc12-built conftest.o that I
 built with the system linker, and the resulting executable still
 aborts, so collect2 and/or the linker does not appear to be to
 blame.

 Looking at the object files with "objdump -x" shows the same two
 sections marked as CODE (and no others):

 Sections:
 Idx Name          Size      VMA       LMA       File off  Algn
   0 .text         00000000  00000000  00000000  00000034  2**0
                   CONTENTS, ALLOC, LOAD, READONLY, CODE
 ...
   5 .text.startup 00000068  00000000  00000000  00000050  2**2
                   CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE

 and skimming through the rest reveals just one notable change:
 the in-tree-built conftest.o has

 RELOCATION RECORDS FOR [.text.startup]:
 OFFSET   TYPE              VALUE
 00000016 R_PPC_REL16_HA    .got2+0x0000800a
 0000001e R_PPC_REL16_LO    .got2+0x00008012
 00000028 R_PPC_PLTREL24    fopen+0x00008000
 00000054 R_PPC_PLTREL24    fclose+0x00008000

 whereas the gcc12-built has

 RELOCATION RECORDS FOR [.text.startup]:
 OFFSET   TYPE              VALUE
 00000000 R_PPC_REL32       .got2+0x00007ff0
 0000002c R_PPC_PLTREL24    fopen
 00000058 R_PPC_PLTREL24    fclose

 But I don't see how that will make such a difference in the
 executables.

 Any more hints for what to look for?

From: Havard Eidnes <he@NetBSD.org>
To: gnats-bugs@netbsd.org, gnats-admin@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Sun, 12 Jul 2026 18:18:49 +0200 (CEST)

 Aand...

 The gcc14 I built on this host while it ran 10.1 is apparently
 also afflicted:

 bramley: {6} /usr/pkg/gcc14/bin/gcc -v
 Abort
 bramley: {7} readelf -a /usr/pkg/gcc14/bin/gcc | egrep 'W.*X'
   [27] .got              PROGBITS        019f0794 1e0794 000010 04 WAX  0   0  4
   [30] .plt              NOBITS          019f08b8 1e0828 000690 00 WAX  0   0  4
   W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
 bramley: {8} 

From: Havard Eidnes <he@NetBSD.org>
To: gnats-bugs@netbsd.org, gnats-admin@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Tue, 14 Jul 2026 11:49:19 +0200 (CEST)

 Some further experimentation:

 Using the half-built gcc12 to build conftest.s, and then using
 the in-tree gcc to build conftest reproduces the problem with an
 executable which simply aborts.  So the problem is already there
 with the generated assembly code.

 Looking at the diff between the half-built gcc12 and the in-tree
 gcc generated assembly reveals:

 --- conftest.in-tree-gcc.s      2026-07-12 22:12:44.823348638 +0200
 +++ conftest-gcc12.s    2026-07-12 22:15:40.699217075 +0200
 @@ -20,6 +20,8 @@
         .section        .text.startup,"ax",@progbits
         .align 2
         .globl main
 +.LCL0:
 +       .long .LCTOC1-.LCF0
         .type   main, @function
  main:
  .LFB3:
 @@ -31,25 +33,25 @@
         .cfi_def_cfa_offset 16
         mflr 0
         .cfi_register 65, 0
 -       bcl 20,31,.L4
 -.L4:
 +       bcl 20,31,.LCF0
 +.LCF0:
         stw 30,8(1)
         .cfi_offset 30, -8
         mflr 30
 -       addis 30,30,.LCTOC1-.L4@ha
         stw 0,20(1)
 -       addi 30,30,.LCTOC1-.L4@l
         .cfi_offset 65, 4
 +       lwz 0,.LCL0-.LCF0(30)
 +       add 30,0,30
         .loc 1 5 11 view .LVU3
         lwz 4,.LC1-.LCTOC1(30)
         lwz 3,.LC3-.LCTOC1(30)
 -       bl fopen+32768@plt
 +       bl fopen@plt
  .LVL0:
         .loc 1 6 2 is_stmt 1 view .LVU4
         .loc 1 6 20 is_stmt 0 view .LVU5
         lhz 9,12(3)
         andi. 9,9,0x40
 -       beq- 0,.L8
 +       beq- 0,.L7
         li 10,1
  .LVL1:
  .L1:
 @@ -65,10 +67,10 @@
         .cfi_restore 65
         blr
  .LVL2:
 -.L8:
 +.L7:
         .cfi_restore_state
         .loc 1 6 23 discriminator 2 view .LVU7
 -       bl fclose+32768@plt
 +       bl fclose@plt
  .LVL3:
         .loc 1 6 20 discriminator 2 view .LVU8
         addic 10,3,-1

 and also

 -.LASF34:
 -       .string "GNU C17 12.5.0 -msecure-plt -msoft-float -mstrict-align -g -O2 -fPIC"
 -.LASF4:
 +.LASF0:
         .string "unsigned int"
  .LASF28:
         .string "_lb_unused"
 +.LASF34:
 +       .string "GNU C17 12.5.0 -msoft-float -mstrict-align -g -O2 -fPIC"

 and

 @@ -875,10 +866,10 @@
         .string "_lbfsize"
  .LASF17:
         .string "_file"
 -.LASF0:
 +.LASF3:
         .string "signed char"
  .LASF26:
         .string "_nbuf"
  .LASF12:
         .string "_base"
 -       .ident  "GCC: (nb3 20260326) 12.5.0"
 +       .ident  "GCC: (GNU) 12.5.0"

 So ... The "half-built gcc12" doesn't by default use
 -msecure-plt, which is documented as

        -msecure-plt
            Generate code that allows ld and ld.so to build executables and
            shared libraries with non-executable ".plt" and ".got" sections.
            This is a PowerPC 32-bit SYSV ABI option.

 which seems to fit well with what I'm observing.

 I'm still puzzled about what changed between 10.1 and 11.0_RC6 in
 NetBSD/macppc to cause this problem to occur with the latter but
 not with the former.

From: Havard Eidnes <he@NetBSD.org>
To: gnats-bugs@netbsd.org, gnats-admin@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Fri, 17 Jul 2026 17:30:02 +0200 (CEST)

 Hi,

 further progress:

 when I transfer the diff from

 : {18} pwd
 /usr/src/external/gpl3/gcc
 : {19} cvs diff -kk -r1.1.1.11 dist/gcc/config/rs6000/netbsd.h

 to the pkgsrc package for lang/gcc12, it appears that this gets
 the build far beyond where it caused the "Abort" problem earlier.

 I started the build of lang/gcc12 some 6+ hours ago, and earlier
 the problem manifested after around 2 hours build time.  Judging
 by my 10.0 system, it'll need around total 24 hours wallclock
 time to complete.

 Does anyone have a suggestion for other diffs which are critical
 for the NetBSD/powerpc target, and should also be copied to
 pkgsrc?

From: "Havard Eidnes" <he@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/60439 CVS commit: pkgsrc/lang
Date: Sat, 18 Jul 2026 09:12:39 +0000

 Module Name:	pkgsrc
 Committed By:	he
 Date:		Sat Jul 18 09:12:39 UTC 2026

 Modified Files:
 	pkgsrc/lang/gcc12: Makefile distinfo
 	pkgsrc/lang/gcc12-libs: Makefile
 Added Files:
 	pkgsrc/lang/gcc12/patches: patch-gcc_config_rs6000_netbsd.h

 Log Message:
 lang/gcc12: pull over the changes to rs6000/netbsd.h from our in-tree gcc.

 This is so that this builds and runs on powerpc/11.0*.

 The most important fix is that on powerpc, -msecure-plt is enabled by
 default, so that resulting executables can be run with PAX_MPROTECT active.
 Otherwise, we end up with executables with sections which have both
 "write" and "execute" turned on, which PAX_MPROTECT rejects.

 Fixes PR#60439.

 Bump PKGREVISION for both gcc12 and gcc12-libs, to adhere to rules in comments.


 To generate a diff of this commit:
 cvs rdiff -u -r1.14 -r1.15 pkgsrc/lang/gcc12/Makefile
 cvs rdiff -u -r1.17 -r1.18 pkgsrc/lang/gcc12/distinfo
 cvs rdiff -u -r1.12 -r1.13 pkgsrc/lang/gcc12-libs/Makefile
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/lang/gcc12/patches/patch-gcc_config_rs6000_netbsd.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Havard Eidnes <he@NetBSD.org>
To: gnats-bugs@netbsd.org, gnats-admin@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Sat, 18 Jul 2026 11:21:22 +0200 (CEST)

 > I'm still puzzled about what changed between 10.1 and 11.0_RC6 in
 > NetBSD/macppc to cause this problem to occur with the latter but
 > not with the former.

 It has been pointed out to me that we enabled PAX_MPROTECT in the
 macppc GENERIC kernel configuration just a few days before
 netbsd-11 was branched, ref.:

 https://mail-index.netbsd.org/source-changes/2025/07/20/msg157530.html

 and a cvs log of sys/sys/param.h:

 revision 1.739
 date: 2025-07-30 21:19:12 +0200;  author: martin;  state: Exp;  lines: +2 -2;  commitid: 5perWLKnr6CMVN4G;
 Welcome to 11.99.1!

From: "Havard Eidnes" <he@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/60439 CVS commit: pkgsrc/lang
Date: Mon, 20 Jul 2026 08:02:52 +0000

 Module Name:	pkgsrc
 Committed By:	he
 Date:		Mon Jul 20 08:02:52 UTC 2026

 Modified Files:
 	pkgsrc/lang/gcc14: Makefile distinfo
 	pkgsrc/lang/gcc14-libs: Makefile
 	pkgsrc/lang/gcc14/patches: patch-gcc_config.gcc
 Added Files:
 	pkgsrc/lang/gcc14/patches: patch-gcc_config_rs6000_netbsd.h
 	    patch-gcc_config_rs6000_netbsd64.h
 	    patch-gcc_config_rs6000_rs6000-logue.cc
 	    patch-gcc_config_rs6000_rs6000.cc patch-gcc_config_rs6000_sysv4.h
 	    patch-gcc_config_rs6000_t-netbsd patch-gcc_config_rs6000_t-netbsd64
 	    patch-gcc_config_rs6000_t-rs6000

 Log Message:
 lang/gcc14: Add changes to make this build on NetBSD/macppc 11.0_RC6.

 This pulls over changes to config/rs6000/ and gcc/config.gcc from
 our in-tree gcc instance of gcc14, while preserving existing Homebrew-
 related changes to gcc/config.gcc.

 The most important fix is that on NetBSD/powerpc, -msecure-plt is enabled
 by default, so that resulting executables can be run with PAX_MPROTECT
 active.  Otherwise, we end up with executables with sections which have
 both "write" and "execute" turned on, which PAX_MPROTECT rejects.  Ref.
 the entries for .plt and .got sections in "readelf -a".

 Fixes PR#60439.

 Bump PKGREVISION for both gcc14 and gcc14-libs, to adhere to rules in comments,
 even though this *should* be a single-arch build fix, since I had to merge
 the patch to gcc/config.gcc.


 To generate a diff of this commit:
 cvs rdiff -u -r1.4 -r1.5 pkgsrc/lang/gcc14/Makefile
 cvs rdiff -u -r1.11 -r1.12 pkgsrc/lang/gcc14/distinfo
 cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/gcc14-libs/Makefile
 cvs rdiff -u -r1.3 -r1.4 pkgsrc/lang/gcc14/patches/patch-gcc_config.gcc
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_netbsd.h \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_netbsd64.h \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_rs6000-logue.cc \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_rs6000.cc \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_sysv4.h \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_t-netbsd \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_t-netbsd64 \
     pkgsrc/lang/gcc14/patches/patch-gcc_config_rs6000_t-rs6000

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Havard Eidnes" <he@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/60439 CVS commit: pkgsrc/lang
Date: Tue, 21 Jul 2026 09:03:21 +0000

 Module Name:	pkgsrc
 Committed By:	he
 Date:		Tue Jul 21 09:03:21 UTC 2026

 Modified Files:
 	pkgsrc/lang/gcc10: Makefile distinfo
 	pkgsrc/lang/gcc10-libs: Makefile
 Added Files:
 	pkgsrc/lang/gcc10/patches: patch-gcc_config_rs6000_netbsd.h

 Log Message:
 lang/gcc10: pull over the changes to rs6000/netbsd.h from gcc12.

 This is so that this builds and runs on powerpc/11.0*.

 The most important fix is that on powerpc, -msecure-plt is enabled by
 default, so that resulting executables can be run with PAX_MPROTECT active.
 Otherwise, we end up with executables with sections which have both
 "write" and "execute" turned on, which PAX_MPROTECT rejects.

 Fixes PR#60439 for lang/gcc10.

 Bump PKGREVISION for both gcc10 and gcc10-libs, to adhere to rules in comments.


 To generate a diff of this commit:
 cvs rdiff -u -r1.27 -r1.28 pkgsrc/lang/gcc10/Makefile
 cvs rdiff -u -r1.20 -r1.21 pkgsrc/lang/gcc10/distinfo
 cvs rdiff -u -r1.12 -r1.13 pkgsrc/lang/gcc10-libs/Makefile
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/lang/gcc10/patches/patch-gcc_config_rs6000_netbsd.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: John Klos <john@klos.com>
To: gnats-bugs@www46.netbsd.org
Cc: 
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Wed, 22 Jul 2026 19:14:33 +0000 (UTC)

 Hi,

 This is confirmed to compile on 11.0_RC6. Can we request pull-up to 
 pkgsrc-2026Q2?

 Thanks,
 John

From: "Havard Eidnes" <he@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/60439 CVS commit: pkgsrc/lang
Date: Wed, 22 Jul 2026 19:28:27 +0000

 Module Name:	pkgsrc
 Committed By:	he
 Date:		Wed Jul 22 19:28:27 UTC 2026

 Modified Files:
 	pkgsrc/lang/gcc15: Makefile distinfo
 	pkgsrc/lang/gcc15-libs: Makefile
 	pkgsrc/lang/gcc15/patches: patch-gcc_config.gcc
 Added Files:
 	pkgsrc/lang/gcc15/patches: patch-gcc_config_rs6000_netbsd.h
 	    patch-gcc_config_rs6000_netbsd64.h
 	    patch-gcc_config_rs6000_rs6000-logue.cc
 	    patch-gcc_config_rs6000_rs6000.cc patch-gcc_config_rs6000_sysv4.h
 	    patch-gcc_config_rs6000_t-netbsd patch-gcc_config_rs6000_t-netbsd64
 	    patch-gcc_config_rs6000_t-rs6000

 Log Message:
 lang/gcc15: Add changes to make this build on NetBSD/macppc 11.0_RC6.

 This pulls over changes to config/rs6000/ and gcc/config.gcc from
 our in-tree gcc instance of gcc14, while preserving existing Homebrew-
 related changes to gcc/config.gcc.

 The most important fix is that on NetBSD/powerpc, -msecure-plt is enabled
 by default, so that resulting executables can be run with PAX_MPROTECT
 active.  Otherwise, we end up with executables with sections which have
 both "write" and "execute" turned on, which PAX_MPROTECT rejects.

 Fixes PR#60439.

 Bump PKGREVISION for both gcc15 and gcc15-libs, to adhere to rules in comments,
 even though this *should* be a single-arch build fix, since I had to merge
 the patch to gcc/config.gcc.


 To generate a diff of this commit:
 cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/gcc15/Makefile \
     pkgsrc/lang/gcc15/distinfo
 cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/gcc15-libs/Makefile
 cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/gcc15/patches/patch-gcc_config.gcc
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_netbsd.h \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_netbsd64.h \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_rs6000-logue.cc \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_rs6000.cc \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_sysv4.h \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_t-netbsd \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_t-netbsd64 \
     pkgsrc/lang/gcc15/patches/patch-gcc_config_rs6000_t-rs6000

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: Havard Eidnes <he@NetBSD.org>
To: gnats-bugs@netbsd.org, gnats-admin@NetBSD.org
Cc: pkg-manager@netbsd.org, pkgsrc-bugs@netbsd.org
Subject: Re: pkg/60439: lang/gcc12 fails to build on NetBSD/macppc 11.0_RC6
 but succeeds on 10.0
Date: Fri, 24 Jul 2026 20:35:52 +0200 (CEST)

 >  This is confirmed to compile on 11.0_RC6. Can we request pull-up to =

 >  pkgsrc-2026Q2?

 I've verified that the following packages build on NetBSD/macppc
 11.0_RC6 and NetBSD/amd64 11.0_RC4 after my updates:

 lang/gcc10
 lang/gcc12
 lang/gcc14
 lang/gcc15

 I've just now submitted pull-up requests for all of these.

 Regards,

 - H=E5vard

From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/60439 CVS commit: [pkgsrc-2026Q2] pkgsrc/lang
Date: Mon, 27 Jul 2026 13:56:33 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Mon Jul 27 13:56:33 UTC 2026

 Modified Files:
 	pkgsrc/lang/gcc12 [pkgsrc-2026Q2]: Makefile distinfo
 	pkgsrc/lang/gcc12-libs [pkgsrc-2026Q2]: Makefile
 Added Files:
 	pkgsrc/lang/gcc12/patches [pkgsrc-2026Q2]:
 	    patch-gcc_config_rs6000_netbsd.h

 Log Message:
 Pullup ticket #7192 - requested by he
 lang/gcc12: Bug fix

 Revisions pulled up:
 - lang/gcc12-libs/Makefile                                      1.13
 - lang/gcc12/Makefile                                           1.15
 - lang/gcc12/distinfo                                           1.18
 - lang/gcc12/patches/patch-gcc_config_rs6000_netbsd.h           1.1

 ---
    Module Name:	pkgsrc
    Committed By:	he
    Date:		Sat Jul 18 09:12:39 UTC 2026

    Modified Files:
    	pkgsrc/lang/gcc12: Makefile distinfo
    	pkgsrc/lang/gcc12-libs: Makefile
    Added Files:
    	pkgsrc/lang/gcc12/patches: patch-gcc_config_rs6000_netbsd.h

    Log Message:
    lang/gcc12: pull over the changes to rs6000/netbsd.h from our in-tree gcc.

    This is so that this builds and runs on powerpc/11.0*.

    The most important fix is that on powerpc, -msecure-plt is enabled by
    default, so that resulting executables can be run with PAX_MPROTECT active.
    Otherwise, we end up with executables with sections which have both
    "write" and "execute" turned on, which PAX_MPROTECT rejects.

    Fixes PR#60439.

    Bump PKGREVISION for both gcc12 and gcc12-libs, to adhere to rules in comments.


 To generate a diff of this commit:
 cvs rdiff -u -r1.14 -r1.14.2.1 pkgsrc/lang/gcc12/Makefile
 cvs rdiff -u -r1.17 -r1.17.2.1 pkgsrc/lang/gcc12/distinfo
 cvs rdiff -u -r1.12 -r1.12.2.1 pkgsrc/lang/gcc12-libs/Makefile
 cvs rdiff -u -r0 -r1.1.2.2 \
     pkgsrc/lang/gcc12/patches/patch-gcc_config_rs6000_netbsd.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

From: "Maya Rashish" <maya@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/60439 CVS commit: [pkgsrc-2026Q2] pkgsrc/lang
Date: Mon, 27 Jul 2026 13:56:39 +0000

 Module Name:	pkgsrc
 Committed By:	maya
 Date:		Mon Jul 27 13:56:39 UTC 2026

 Modified Files:
 	pkgsrc/lang/gcc10 [pkgsrc-2026Q2]: Makefile distinfo
 	pkgsrc/lang/gcc10-libs [pkgsrc-2026Q2]: Makefile
 Added Files:
 	pkgsrc/lang/gcc10/patches [pkgsrc-2026Q2]:
 	    patch-gcc_config_rs6000_netbsd.h

 Log Message:
 Pullup ticket #7193 - requested by he
 lang/gcc10: Bug fix

 Revisions pulled up:
 - lang/gcc10-libs/Makefile                                      1.13
 - lang/gcc10/Makefile                                           1.28
 - lang/gcc10/distinfo                                           1.21
 - lang/gcc10/patches/patch-gcc_config_rs6000_netbsd.h           1.1

 ---
    Module Name:	pkgsrc
    Committed By:	he
    Date:		Tue Jul 21 09:03:21 UTC 2026

    Modified Files:
    	pkgsrc/lang/gcc10: Makefile distinfo
    	pkgsrc/lang/gcc10-libs: Makefile
    Added Files:
    	pkgsrc/lang/gcc10/patches: patch-gcc_config_rs6000_netbsd.h

    Log Message:
    lang/gcc10: pull over the changes to rs6000/netbsd.h from gcc12.

    This is so that this builds and runs on powerpc/11.0*.

    The most important fix is that on powerpc, -msecure-plt is enabled by
    default, so that resulting executables can be run with PAX_MPROTECT active.
    Otherwise, we end up with executables with sections which have both
    "write" and "execute" turned on, which PAX_MPROTECT rejects.

    Fixes PR#60439 for lang/gcc10.

    Bump PKGREVISION for both gcc10 and gcc10-libs, to adhere to rules in comments.


 To generate a diff of this commit:
 cvs rdiff -u -r1.27 -r1.27.12.1 pkgsrc/lang/gcc10/Makefile
 cvs rdiff -u -r1.20 -r1.20.12.1 pkgsrc/lang/gcc10/distinfo
 cvs rdiff -u -r1.12 -r1.12.10.1 pkgsrc/lang/gcc10-libs/Makefile
 cvs rdiff -u -r0 -r1.1.2.2 \
     pkgsrc/lang/gcc10/patches/patch-gcc_config_rs6000_netbsd.h

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->pending-pullups
State-Changed-By: maya@NetBSD.org
State-Changed-When: Wed, 02 Sep 2026 02:12:14 +0000
State-Changed-Why:
Display the status more accurately - problem is fixed, but the pullup is stalled (possibly too invasive for pkgsrc stable). It'll make it easier to close this bug if pkgsrc-2026Q3 is released.


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.