CVS commit: pkgsrc/cross/ppc-morphos-gcc

"Jonathan Schleifer" <[email protected]> Mon, 3 Aug 2026 19:21:05 +0000
Newsgroups gmane.os.netbsd.devel.pkgsrc.cvs
Message-ID <[email protected]>
This is a multi-part message in MIME format.

--_----------=_178578486564120
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
Content-Type: text/plain; charset="US-ASCII"

Module Name:	pkgsrc
Committed By:	js
Date:		Mon Aug  3 19:21:05 UTC 2026

Modified Files:
	pkgsrc/cross/ppc-morphos-gcc: Makefile
Added Files:
	pkgsrc/cross/ppc-morphos-gcc/files: no-shrink-wrap-for-baserel.diff

Log Message:
cross/ppc-morphos-gcc: Disable shrink wrap for baserel code


To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 pkgsrc/cross/ppc-morphos-gcc/Makefile
cvs rdiff -u -r0 -r1.1 \
    pkgsrc/cross/ppc-morphos-gcc/files/no-shrink-wrap-for-baserel.diff

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


--_----------=_178578486564120
Content-Disposition: inline
Content-Length: 2468
Content-Transfer-Encoding: binary
Content-Type: text/x-diff; charset=us-ascii

Modified files:

Index: pkgsrc/cross/ppc-morphos-gcc/Makefile
diff -u pkgsrc/cross/ppc-morphos-gcc/Makefile:1.10 pkgsrc/cross/ppc-morphos-gcc/Makefile:1.11
--- pkgsrc/cross/ppc-morphos-gcc/Makefile:1.10	Sat Aug  1 15:45:19 2026
+++ pkgsrc/cross/ppc-morphos-gcc/Makefile	Mon Aug  3 19:21:04 2026
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.10 2026/08/01 15:45:19 js Exp $
+# $NetBSD: Makefile,v 1.11 2026/08/03 19:21:04 js Exp $
 
 DISTNAME=	gcc-15.2.0
-PKGREVISION=	6
+PKGREVISION=	7
 PKGNAME=	ppc-morphos-${DISTNAME}
 CATEGORIES=	cross
 MASTER_SITES=	${MASTER_SITE_GNU:=gcc/gcc-${PKGVERSION_NOREV}/}
@@ -55,6 +55,7 @@ pre-patch:
 	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/fix-saveds.diff
 	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/objc-saveds.diff
 	${RUN} cd ${WRKSRC} && ${PATCH} -p1 <${FILESDIR}/libcpp-disable-canonicalize.diff
+	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/no-shrink-wrap-for-baserel.diff
 	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/const-baserel.diff
 	${RUN} cd ${WRKSRC} && ${PATCH} -p0 <${FILESDIR}/save-r13-baserel.diff
 	${RUN} find ${WRKSRC} -name configure -print0 | xargs -0 -r perl -i.orig -p -e "s|toolexecdir='\\\$$\(libdir\)/gcc/\\\$$\(target_alias\)'|toolexecdir='\\\$$(libdir)/gcc-lib/\\\$$(target_alias)'|g;"

Added files:

Index: pkgsrc/cross/ppc-morphos-gcc/files/no-shrink-wrap-for-baserel.diff
diff -u /dev/null pkgsrc/cross/ppc-morphos-gcc/files/no-shrink-wrap-for-baserel.diff:1.1
--- /dev/null	Mon Aug  3 19:21:05 2026
+++ pkgsrc/cross/ppc-morphos-gcc/files/no-shrink-wrap-for-baserel.diff	Mon Aug  3 19:21:04 2026
@@ -0,0 +1,23 @@
+Disable shrink wrap for baserel code.
+
+--- gcc/config/rs6000/rs6000.cc.orig	2026-08-03 18:26:50.698811534 +0000
++++ gcc/config/rs6000/rs6000.cc
+@@ -3646,6 +3646,18 @@ rs6000_option_override_internal (bool gl
+ 	     " it is incompatible with the installed C and C++ libraries",
+ 	     "-malign-power");
+ 
++#ifdef TARGET_BASEREL
++  /* Shrink wrap does not play well with __restore_r13, which cannot be
++     reordered.  */
++  if (TARGET_BASEREL)
++    {
++      if (!OPTION_SET_P (flag_shrink_wrap))
++        flag_shrink_wrap = 0;
++      if (!OPTION_SET_P (flag_shrink_wrap_separate))
++        flag_shrink_wrap_separate = 0;
++    }
++#endif
++
+   /* Numerous experiment shows that IRA based loop pressure
+      calculation works better for RTL loop invariant motion on targets
+      with enough (>= 32) registers.  It is an expensive optimization.


--_----------=_178578486564120--