pkgsrc-WIP-changes archive

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

gcc9snapshot: Fix LINK_LIBGCC_SPEC.



Module Name:	pkgsrc-wip
Committed By:	Taylor R Campbell <riastradh%NetBSD.org@localhost>
Pushed By:	riastradh
Date:		Mon Jan 6 13:25:08 2025 +0000
Changeset:	1f97aa6ebc9c9faeec8b0184a36570479e10018d

Modified Files:
	gcc9snapshot/Makefile
	gcc9snapshot/distinfo
	gcc9snapshot/patches/patch-gcc_Makefile.in

Log Message:
gcc9snapshot: Fix LINK_LIBGCC_SPEC.

PR pkg/58963: gcc: LINK_LIBGCC_SPEC snafu
PR pkg/48740: lang/gcc44 to gcc46 linker fails because of whitespace

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=1f97aa6ebc9c9faeec8b0184a36570479e10018d

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

diffstat:
 gcc9snapshot/Makefile                      | 23 +++++++++++++++++------
 gcc9snapshot/distinfo                      |  2 +-
 gcc9snapshot/patches/patch-gcc_Makefile.in |  7 ++++---
 3 files changed, 22 insertions(+), 10 deletions(-)

diffs:
diff --git a/gcc9snapshot/Makefile b/gcc9snapshot/Makefile
index 39e6867574..2afe2c1ca7 100644
--- a/gcc9snapshot/Makefile
+++ b/gcc9snapshot/Makefile
@@ -8,6 +8,7 @@ PKGNAME=	${GCC_PKGNAME}-${GCC9S_DIST_VERSION}
 ## When bumping the PKGREVISION of this package the PKGREVISION of
 ## lang/gcc9-libs needs to be bump to be at least 1 more than the
 ## PKGREVISION of this package!
+PKGREVISION=	1
 CATEGORIES=	lang
 #MASTER_SITES=	${MASTER_SITE_GNU:=gcc/snapshots/${GCC9S_DIST_VERSION}/}
 MASTER_SITES+=	ftp://ftp.fu-berlin.de/unix/languages/gcc/snapshots/${GCC9S_DIST_VERSION}/
@@ -40,12 +41,6 @@ INFO_FILES=		yes
 UNLIMIT_RESOURCES+=	datasize
 UNLIMIT_RESOURCES+=	stacksize
 
-SUBST_CLASSES+=		vars
-SUBST_MESSAGE.vars=	Setting target machine name path in ${SUBST_FILES.vars}
-SUBST_STAGE.vars=	pre-configure
-SUBST_FILES.vars=	gcc/Makefile.in
-SUBST_VARS.vars=	GCC_TARGET_MACHINE
-
 
 .include "../../mk/bsd.prefs.mk"
 
@@ -145,6 +140,22 @@ CONFIGURE_ARGS+=	--with-gnu-as --with-as=${PREFIX}/bin/gas
 .  endif
 .endif
 
+# DO NOT REMOVE THIS SUBST.  If it fails, the corruption to
+# patch-gcc_Makefile.in chronicled in PR pkg/58963 `gcc:
+# LINK_LIBGCC_SPEC snafu' <https://gnats.NetBSD.org/58963> probably got
+# replicated yet again.  You must make sure that LINK_LIBGCC_SPEC is
+# appropriately set with @GCC_TARGET_MACHINE@ in patch-gcc_Makefile.in
+# or similar, or confirm with a discussion on tech-pkg@ that it is no
+# longer relevant before you remove this SUBST.
+SUBST_CLASSES+=		vars
+SUBST_MESSAGE.vars=	Setting target machine name path in ${SUBST_FILES.vars}
+SUBST_STAGE.vars=	pre-configure
+SUBST_FILES.vars=	gcc/Makefile.in
+SUBST_VARS.vars=	GCC_TARGET_MACHINE
+
+GCC_TARGET_MACHINE?=	${MACHINE_GNU_PLATFORM}
+BUILD_DEFS+=		GCC_TARGET_MACHINE
+
 pre-configure:
 	${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR}
 	${CP} ${FILESDIR}/netbsd-d.c ${WRKSRC}/gcc/config/
diff --git a/gcc9snapshot/distinfo b/gcc9snapshot/distinfo
index c2175d26e8..cb4d236f59 100644
--- a/gcc9snapshot/distinfo
+++ b/gcc9snapshot/distinfo
@@ -7,7 +7,7 @@ RMD160 (isl-0.16.1.tar.bz2) = 5a99db3fe0d0a1f6bbac1ed4448f2403495c55b2
 SHA512 (isl-0.16.1.tar.bz2) = c188667a84dc5bdddb4ab7c35f89c91bf15a8171f4fcaf41301cf285fb7328846d9a367c096012fec4cc69d244f0bc9e95d84c09ec097394cd4093076f2a041b
 Size (isl-0.16.1.tar.bz2) = 1626446 bytes
 SHA1 (patch-contrib_download__prerequisites) = 86c6c16e0e3e3a0bcb38579a8b4004f603fac1ca
-SHA1 (patch-gcc_Makefile.in) = c0f97c75ba1d37eae894141edd58bb36b734f651
+SHA1 (patch-gcc_Makefile.in) = a31ddc27f1092cfdf5ac896ca79c8590b5aceb47
 SHA1 (patch-gcc_config_arm_arm.h) = ef381dbb70cab2f76f6ad190eaa5519240ae1a02
 SHA1 (patch-gcc_config_netbsd-protos.h) = 5c788878832f3b48d83941d2b36401abe8ece91c
 SHA1 (patch-gcc_config_t-netbsd) = cb39774b614f1de64684cf2f4df337e7b40427d6
diff --git a/gcc9snapshot/patches/patch-gcc_Makefile.in b/gcc9snapshot/patches/patch-gcc_Makefile.in
index d52bcf4057..8674d3493d 100644
--- a/gcc9snapshot/patches/patch-gcc_Makefile.in
+++ b/gcc9snapshot/patches/patch-gcc_Makefile.in
@@ -1,7 +1,8 @@
 $NetBSD: patch-gcc_Makefile.in,v 1.1 2017/05/03 00:21:03 maya Exp $
 
-Add gcc libdir to a programs rpath so that _this gcc's_ support libraries
-are found.
+Ensure libgcc from this GCC is found before others.  Note that there must
+not be a whitespace between $(LINKER_RPATH_FLAG) and the path.  Otherwise
+the flag may be misinterpreted by the linker (e.g. Apple ld).
 
 --- gcc/Makefile.in.orig	2017-04-18 18:10:27.000000000 +0000
 +++ gcc/Makefile.in
@@ -9,7 +10,7 @@ are found.
  # Language-independent files.
  
  DRIVER_DEFINES = \
-+  -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG) $(prefix)//lib/%M $(LINKER_RPATH_FLAG) $(libdir)/%M \"" \
++  -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG)$(prefix)/@GCC_TARGET_MACHINE@/lib/%M $(LINKER_RPATH_FLAG)$(libdir)/%M \"" \
    -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \
    -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \
    -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \


Home | Main Index | Thread Index | Old Index