CVS commit: [pkgsrc-2026Q2] pkgsrc/lang

"Maya Rashish" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
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.
(unnamed) (text/x-diff, 5.9 KB)
Modified files:

Index: pkgsrc/lang/gcc10/Makefile
diff -u pkgsrc/lang/gcc10/Makefile:1.27 pkgsrc/lang/gcc10/Makefile:1.27.12.1
--- pkgsrc/lang/gcc10/Makefile:1.27	Fri Jan 10 11:57:07 2025
+++ pkgsrc/lang/gcc10/Makefile	Mon Jul 27 13:56:38 2026
@@ -1,10 +1,10 @@
-# $NetBSD: Makefile,v 1.27 2025/01/10 11:57:07 riastradh Exp $
+# $NetBSD: Makefile,v 1.27.12.1 2026/07/27 13:56:38 maya Exp $
 
 PKGNAME=	${GCC_PKGNAME}-${GCC10_DIST_VERSION}
 ## When bumping the PKGREVISION of this package the PKGREVISION of
 ## lang/gcc10-libs needs to be bumped to be at least 1 more than the
 ## PKGREVISION of this package!
-PKGREVISION=	4
+PKGREVISION=	5
 
 COMMENT=	The GNU Compiler Collection (GCC) - 10.0 Release Series
 

Index: pkgsrc/lang/gcc10/distinfo
diff -u pkgsrc/lang/gcc10/distinfo:1.20 pkgsrc/lang/gcc10/distinfo:1.20.12.1
--- pkgsrc/lang/gcc10/distinfo:1.20	Fri Jan 10 11:57:07 2025
+++ pkgsrc/lang/gcc10/distinfo	Mon Jul 27 13:56:38 2026
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.20 2025/01/10 11:57:07 riastradh Exp $
+$NetBSD: distinfo,v 1.20.12.1 2026/07/27 13:56:38 maya Exp $
 
 BLAKE2s (gcc-10.5.0.tar.xz) = af4a8b262d9d4e534e8e1c311897e68e7d64f147ad1eed42e77f9674da188bf3
 SHA512 (gcc-10.5.0.tar.xz) = d86dbc18b978771531f4039465e7eb7c19845bf607dc513c97abf8e45ffe1086a99d98f83dfb7b37204af22431574186de9d5ff80c8c3c3a98dbe3983195bffd
@@ -19,6 +19,7 @@ SHA1 (patch-gcc_config_arm_bpabi.h) = 0b
 SHA1 (patch-gcc_config_arm_elf.h) = 57748157084319cb92d892f2ea5b2f3355567551
 SHA1 (patch-gcc_config_arm_netbsd-eabi.h) = 85eb89de6f2e64fac50251f06d7e4eab35903dae
 SHA1 (patch-gcc_config_arm_netbsd-elf.h) = 367d83c808fd7b5b1989d0490b532ad06b425b31
+SHA1 (patch-gcc_config_rs6000_netbsd.h) = b3f405f3dfdb5590b79f069b380291d2382c8ff7
 SHA1 (patch-gcc_config_sparc_sparc.c) = e9cb956f3769642bcd0ba4a477d16c73dea46014
 SHA1 (patch-gcc_configure) = 6a2d8eeeed2bf08c3c81291178e669dc91c913ce
 SHA1 (patch-gcc_ggc-common.c) = 3e325767922ab7d2079fdb9a3d6b6aa531a2fea5

Index: pkgsrc/lang/gcc10-libs/Makefile
diff -u pkgsrc/lang/gcc10-libs/Makefile:1.12 pkgsrc/lang/gcc10-libs/Makefile:1.12.10.1
--- pkgsrc/lang/gcc10-libs/Makefile:1.12	Sun May  4 14:22:13 2025
+++ pkgsrc/lang/gcc10-libs/Makefile	Mon Jul 27 13:56:38 2026
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.12 2025/05/04 14:22:13 wiz Exp $
+# $NetBSD: Makefile,v 1.12.10.1 2026/07/27 13:56:38 maya Exp $
 
 GCC_PKGNAME=	gcc10
 .include	"../../lang/${GCC_PKGNAME}/version.mk"
@@ -9,7 +9,7 @@ PKGNAME=	${GCC_PKGNAME}-libs-${GCC10_DIS
 ## The PKGREVISION of this package needs to be at least 1 more than the
 ## PKGREVISION of the lang/gcc10 package so that with the dependence pattern
 ## '{gcc10,gcc10-libs}>=10.2.*' pkg_add will choose gcc10-libs over gcc10.
-PKGREVISION=	5
+PKGREVISION=	6
 
 CATEGORIES=	lang
 MASTER_SITES=	# empty

Added files:

Index: pkgsrc/lang/gcc10/patches/patch-gcc_config_rs6000_netbsd.h
diff -u /dev/null pkgsrc/lang/gcc10/patches/patch-gcc_config_rs6000_netbsd.h:1.1.2.2
--- /dev/null	Mon Jul 27 13:56:39 2026
+++ pkgsrc/lang/gcc10/patches/patch-gcc_config_rs6000_netbsd.h	Mon Jul 27 13:56:38 2026
@@ -0,0 +1,100 @@
+$NetBSD: patch-gcc_config_rs6000_netbsd.h,v 1.1.2.2 2026/07/27 13:56:38 maya Exp $
+
+Carry over changes from in-tree gcc in an attempt at
+making this build on NetBSD/powerpc.
+
+In particular this should enable -msecure-plt by default so that
+the compiler produces executables which will run with
+
+   security.pax.mprotect.enabled=1
+
+--- gcc/config/rs6000/netbsd.h.orig	2026-07-17 07:01:21.448909835 +0000
++++ gcc/config/rs6000/netbsd.h
+@@ -31,6 +31,12 @@
+       builtin_define ("__powerpc__");		\
+       builtin_assert ("cpu=powerpc");		\
+       builtin_assert ("machine=powerpc");	\
++      if (TARGET_SECURE_PLT)			\
++        builtin_define ("_SECURE_PLT");		\
++      if (TARGET_SOFT_FLOAT)			\
++        builtin_define ("_SOFT_FLOAT");		\
++      if (TARGET_ISEL)				\
++        builtin_define ("__PPC_ISEL__");	\
+     }						\
+   while (0)
+ 
+@@ -62,6 +68,29 @@
+ #undef  PTRDIFF_TYPE
+ #define PTRDIFF_TYPE "int"
+ 
++/* Redefine some types that where redefined by rs6000 include files.  */
++
++#undef WCHAR_TYPE
++#define WCHAR_TYPE "int"
++
++#undef WCHAR_TYPE_SIZE
++#define WCHAR_TYPE_SIZE 32
++
++#undef WINT_TYPE
++#define WINT_TYPE "int"
++
++#undef INT64_TYPE
++#define INT64_TYPE "long long int"
++
++#undef UINT64_TYPE
++#define UINT64_TYPE "long long unsigned int"
++
++#undef INTMAX_TYPE
++#define INTMAX_TYPE "long long int"
++
++#undef UINTMAX_TYPE
++#define UINTMAX_TYPE "long long unsigned int"
++
+ /* Undo the spec mess from sysv4.h, and just define the specs
+    the way NetBSD systems actually expect.  */
+ 
+@@ -79,18 +108,39 @@
+ #define STARTFILE_SPEC NETBSD_STARTFILE_SPEC
+ 
+ #undef  ENDFILE_SPEC
+-#define ENDFILE_SPEC "%(netbsd_endfile_spec)"
++#define ENDFILE_SPEC NETBSD_ENDFILE_SPEC
+ 
+ #undef  LIB_SPEC
+ #define LIB_SPEC NETBSD_LIB_SPEC
+ 
+ #undef  SUBTARGET_EXTRA_SPECS
+ #define SUBTARGET_EXTRA_SPECS					\
+-  { "netbsd_link_spec",		NETBSD_LINK_SPEC_ELF },		\
+-  { "netbsd_entry_point",	NETBSD_ENTRY_POINT },		\
+-  { "netbsd_endfile_spec",	NETBSD_ENDFILE_SPEC },
++  { "cc1_secure_plt_default",  CC1_SECURE_PLT_DEFAULT_SPEC },   \
++  NETBSD_SUBTARGET_EXTRA_SPECS
+ 
++/*
++ * Add NetBSD specific defaults: -mstrict-align
++ */
++#undef TARGET_DEFAULT
++#define TARGET_DEFAULT (MASK_STRICT_ALIGN)
++
++/*
++ * We know we have the right binutils for this (we shouldn't need to do this
++ * but until the cross build does the right thing...)
++ */
++#undef TARGET_SECURE_PLT
++#define TARGET_SECURE_PLT secure_plt
++#undef HAVE_AS_TLS
++#define HAVE_AS_TLS 1
++#define POWERPC_NETBSD
++
++/* Attempt to enable execute permissions on the stack.  */
++//#define TRANSFER_FROM_TRAMPOLINE NETBSD_ENABLE_EXECUTE_STACK
++// XXXMRG use enable-execute-stack-mprotect.c ?
++#ifdef L_trampoline
++#undef TRAMPOLINE_SIZE
++#define TRAMPOLINE_SIZE 48
++#endif
+ 
+ /* Use standard DWARF numbering for DWARF debugging information.  */
+ #define RS6000_USE_DWARF_NUMBERING
+-
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.