pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

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



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.

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
+-



Home | Main Index | Thread Index | Old Index