Received: by mail.netbsd.org (Postfix, from userid 605) id AFFA884D65; Wed, 3 May 2023 20:03:13 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by mail.netbsd.org (Postfix) with ESMTP id DEF2684D17 for ; Wed, 3 May 2023 20:03:12 +0000 (UTC) X-Virus-Scanned: amavisd-new at netbsd.org Received: from mail.netbsd.org ([127.0.0.1]) by localhost (mail.netbsd.org [127.0.0.1]) (amavisd-new, port 10025) with ESMTP id 63MyfX5tM_5z for ; Wed, 3 May 2023 20:03:09 +0000 (UTC) Received: from cvs.NetBSD.org (ivanova.netbsd.org [199.233.217.197]) by mail.netbsd.org (Postfix) with ESMTP id B12FE84CC9 for ; Wed, 3 May 2023 20:03:09 +0000 (UTC) Received: by cvs.NetBSD.org (Postfix, from userid 500) id A8F90FA87; Wed, 3 May 2023 20:03:09 +0000 (UTC) Content-Transfer-Encoding: 7bit Content-Type: multipart/mixed; boundary="_----------=_1683144189154960" MIME-Version: 1.0 Date: Wed, 3 May 2023 20:03:09 +0000 From: "Thomas Klausner" Subject: CVS commit: pkgsrc/lang/gcc13 To: pkgsrc-changes@NetBSD.org Reply-To: wiz@netbsd.org X-Mailer: log_accum Message-Id: <20230503200309.A8F90FA87@cvs.NetBSD.org> Sender: pkgsrc-changes-owner@NetBSD.org List-Id: Precedence: bulk List-Unsubscribe: This is a multi-part message in MIME format. --_----------=_1683144189154960 Content-Disposition: inline Content-Transfer-Encoding: 8bit Content-Type: text/plain; charset="US-ASCII" Module Name: pkgsrc Committed By: wiz Date: Wed May 3 20:03:09 UTC 2023 Added Files: pkgsrc/lang/gcc13: DESCR Makefile Makefile.common buildlink3.mk distinfo options.mk version.mk pkgsrc/lang/gcc13/patches: patch-fixincludes_inclhack.def patch-gcc_Makefile.in patch-gcc_config.host patch-gcc_config_aarch64_aarch64-netbsd.h patch-gcc_config_arm_arm.h patch-gcc_config_arm_bpabi.h patch-gcc_config_arm_elf.h patch-gcc_config_arm_netbsd-eabi.h patch-gcc_config_arm_netbsd-elf.h patch-gcc_config_nvptx_gen-opt.sh patch-gcc_configure patch-isl_configure patch-libffi_configure patch-libffi_testsuite_libffi.call_float2.c patch-libgcc_config.host patch-libgcc_crtstuff.c patch-libgfortran_io_io.h patch-libquadmath_printf_quadmath-printf.c patch-libquadmath_strtod_strtod__l.c patch-libstdc++-v3_libsupc++_new__opa.cc Log Message: lang/gcc13: import gcc13-13.1.0 The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C, Fortran, and Go. To generate a diff of this commit: cvs rdiff -u -r0 -r1.1 pkgsrc/lang/gcc13/DESCR pkgsrc/lang/gcc13/Makefile \ pkgsrc/lang/gcc13/Makefile.common pkgsrc/lang/gcc13/buildlink3.mk \ pkgsrc/lang/gcc13/distinfo pkgsrc/lang/gcc13/options.mk \ pkgsrc/lang/gcc13/version.mk cvs rdiff -u -r0 -r1.1 \ pkgsrc/lang/gcc13/patches/patch-fixincludes_inclhack.def \ pkgsrc/lang/gcc13/patches/patch-gcc_Makefile.in \ pkgsrc/lang/gcc13/patches/patch-gcc_config.host \ pkgsrc/lang/gcc13/patches/patch-gcc_config_aarch64_aarch64-netbsd.h \ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_arm.h \ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_bpabi.h \ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_elf.h \ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-eabi.h \ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-elf.h \ pkgsrc/lang/gcc13/patches/patch-gcc_config_nvptx_gen-opt.sh \ pkgsrc/lang/gcc13/patches/patch-gcc_configure \ pkgsrc/lang/gcc13/patches/patch-isl_configure \ pkgsrc/lang/gcc13/patches/patch-libffi_configure \ pkgsrc/lang/gcc13/patches/patch-libffi_testsuite_libffi.call_float2.c \ pkgsrc/lang/gcc13/patches/patch-libgcc_config.host \ pkgsrc/lang/gcc13/patches/patch-libgcc_crtstuff.c \ pkgsrc/lang/gcc13/patches/patch-libgfortran_io_io.h \ pkgsrc/lang/gcc13/patches/patch-libquadmath_printf_quadmath-printf.c \ pkgsrc/lang/gcc13/patches/patch-libquadmath_strtod_strtod__l.c \ pkgsrc/lang/gcc13/patches/patch-libstdc++-v3_libsupc++_new__opa.cc Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. --_----------=_1683144189154960 Content-Disposition: inline Content-Length: 40543 Content-Transfer-Encoding: binary Content-Type: text/x-diff; charset=us-ascii Added files: Index: pkgsrc/lang/gcc13/DESCR diff -u /dev/null pkgsrc/lang/gcc13/DESCR:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/DESCR Wed May 3 20:03:09 2023 @@ -0,0 +1,2 @@ +The GNU Compiler Collection (GCC) includes front ends for C, C++, Objective-C, +Fortran, and Go. Index: pkgsrc/lang/gcc13/Makefile diff -u /dev/null pkgsrc/lang/gcc13/Makefile:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/Makefile Wed May 3 20:03:09 2023 @@ -0,0 +1,78 @@ +# $NetBSD: Makefile,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +PKGNAME= ${GCC_PKGNAME}-${GCC13_DIST_VERSION} +## When bumping the PKGREVISION of this package the PKGREVISION of +## lang/gcc13-libs needs to be bumped to be at least 1 more than the +## PKGREVISION of this package! +COMMENT= The GNU Compiler Collection (GCC) - 13.0 Release Series + +LANGS= c + +.include "Makefile.common" + +# In some cases LINKER_RPATH_FLAG needs a trailing space. +LINKER_RPATH_FLAG:= ${LINKER_RPATH_FLAG:S/-rpath/& /} + +## The Library rpath to use in end programs. +LDFLAGS_FOR_TARGET= ${LDFLAGS:M${COMPILER_RPATH_FLAG}*:N*/usr/lib*} ${LDFLAGS:M-Wl,-z*} + +# The "-static-libstdc++ -static-libgcc" flags are normally added to the +# boot-ldflags by configure but because we are supply the boot-ldflags +# we mash supply them. +BOOT_LDFLAGS= -static-libstdc++ -static-libgcc ${LDFLAGS_FOR_TARGET} +# Needed on Darwin when LDFLAGS point to a SDK +BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*} +# GCC does not understand this option; remove it, or stage build will fail +BUILDLINK_TRANSFORM+= rm:-stdlib=libc++ + +# Disable fixincludes on SmartOS, header changes result in broken includes +# being generated, see https://github.com/joyent/pkgsrc-legacy/issues/270 +.if ${OS_VARIANT} == "SmartOS" +SUBST_CLASSES+= fixinc +SUBST_STAGE.fixinc= pre-configure +SUBST_FILES.fixinc= gcc/Makefile.in +SUBST_SED.fixinc= -e "s,\./fixinc.sh,-c true," +.endif + +.if !empty(MACHINE_PLATFORM:MNetBSD-*-*) +# on NetBSD, use the native SSP code in libc +CONFIGURE_ARGS+= --disable-libssp +# Match base libstdc++ major +SUBST_CLASSES+= libstdc +SUBST_STAGE.libstdc= pre-configure +SUBST_FILES.libstdc= libstdc++-v3/configure +SUBST_MESSAGE.libstdc= Bumping libstdc++ major to 7 +SUBST_SED.libstdc= -e 's,libtool_VERSION=6:,libtool_VERSION=7:,g' +.else +CONFIGURE_ARGS+= --enable-libssp +.endif + +## For target librarys and libjava programs. +CONFIGURE_ENV+= LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q} + +CONFIGURE_ARGS+= --enable-languages=${LANGS:Q} +CONFIGURE_ARGS+= --enable-shared + +CTF_FILES_SKIP+= */gengtype # CPU limit exceeded + +TEST_TARGET= -j ${MAKE_JOBS} -k check || ${TRUE} +TEST_DEPENDS+= dejagnu-[0-9]*:../../devel/dejagnu + +post-test: + ${RUN} cd ${WRKSRC} && cd ${OBJDIR} && \ + ${SHELL} ${WRKSRC}/contrib/test_summary >${WRKDIR}/test_summary.log + ${INFO_MSG} "Test summary are available in ${WRKDIR}/test_summary.log" + +post-install: + ${TEST} -f ${DESTDIR}${GCC_PREFIX}/bin/cc || \ + ( cd ${DESTDIR}${GCC_PREFIX}/bin ; ${LN} -f gcc cc ) +.if !empty(MACHINE_PLATFORM:MSunOS-*-*86*) && ${OS_VERSION} != "5.11" + ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m32 || ${TRUE} + ${SH} files/values.c ${DESTDIR}${GCC_PREFIX}/bin/gcc -m64 || ${TRUE} +.endif + +GENERATE_PLIST+= \ + cd ${DESTDIR}${PREFIX} && \ + ${FIND} ${GCC_SUBPREFIX} \( -type f -o -type l \) -print | ${SORT}; + +.include "../../mk/bsd.pkg.mk" Index: pkgsrc/lang/gcc13/Makefile.common diff -u /dev/null pkgsrc/lang/gcc13/Makefile.common:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/Makefile.common Wed May 3 20:03:09 2023 @@ -0,0 +1,153 @@ +# $NetBSD: Makefile.common,v 1.1 2023/05/03 20:03:09 wiz Exp $ +# used by lang/gcc13-libjit/Makefile + +GCC_PKGNAME= gcc13 +.include "version.mk" + +DISTNAME= gcc-${GCC13_DIST_VERSION} +CATEGORIES= lang +MASTER_SITES= ${MASTER_SITE_GNU:=gcc/gcc-${GCC13_DIST_VERSION}/} +EXTRACT_SUFX= .tar.xz + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= https://gcc.gnu.org/ +LICENSE= gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3 + +DISTFILES= ${DEFAULT_DISTFILES} +EXTRACT_ONLY= ${DEFAULT_DISTFILES} + +PATCHDIR= ${.CURDIR}/../../lang/gcc13/patches +DISTINFO_FILE= ${.CURDIR}/../../lang/gcc13/distinfo + +# Relocations result in a linker error on AArch64, but not x86. +MKPIE_SUPPORTED= no +CHECK_RELRO_SKIP+= ${GCC_PKGNAME}/lib/* + +NOT_FOR_PLATFORM= Interix-*-* + +USE_LANGUAGES= c99 c++ +USE_TOOLS+= gmake makeinfo sed:run tar:build +USE_TOOLS.NetBSD+= gsed + +GNU_CONFIGURE= yes +GNU_CONFIGURE_STRICT= no +## Build outside ${WRKSRC} +OBJDIR= ../build +CONFIGURE_DIRS= ${OBJDIR} +CONFIGURE_SCRIPT= ../${DISTNAME}/configure +GCC_SUBPREFIX= ${GCC_PKGNAME} +GCC_PREFIX= ${PREFIX}/${GCC_SUBPREFIX} +GNU_CONFIGURE_PREFIX= ${GCC_PREFIX} +INFO_FILES= yes +CONFIGURE_ARGS+= --disable-libstdcxx-pch + +UNLIMIT_RESOURCES+= datasize +UNLIMIT_RESOURCES+= stacksize + +CHECK_PORTABILITY_SKIP+= contrib/* +CHECK_PORTABILITY_SKIP+= gcc/configure.orig_dist + +.include "../../mk/bsd.prefs.mk" + +.include "options.mk" + +#.if ${MACHINE_PLATFORM:MDarwin-*-aarch64} +#BUILDLINK_TRANSFORM+= rm:-nodefaultrpaths +#CONFIGURE_ARGS+= --disable-darwin-at-rpath +#PATCHFILES= gcc-13.2.0-arm.diff +#PATCH_SITES= https://raw.githubusercontent.com/Homebrew/formula-patches/1d184289/gcc/ +#PATCH_DIST_STRIP= -p1 +#.endif + +## For graphite support. +.if !empty(PKG_OPTIONS:Mgcc-graphite) + +post-extract: + ${TAR} -jxf ${DISTDIR}/${ISL24}.tar.xz -C ${WRKSRC} + ${MV} ${WRKSRC}/${ISL24} ${WRKSRC}/isl +.endif + +CONFIGURE_ARGS+= --enable-long-long +CONFIGURE_ARGS+= --with-local-prefix=${GCC_PREFIX:Q} +CONFIGURE_ARGS+= --enable-threads=posix +CONFIGURE_ARGS+= --with-boot-ldflags=${BOOT_LDFLAGS:Q} +CONFIGURE_ARGS+= --without-zstd +# causes build errors even when using lang/gcc13 to self-host. +CONFIGURE_ARGS.SunOS+= --disable-libsanitizer +# multilib on Darwin requires fat-binaries +CONFIGURE_ARGS.Darwin+= --disable-multilib +.if !empty(OSX_SDK_PATH) +CONFIGURE_ARGS.Darwin+= --with-sysroot=${OSX_SDK_PATH} +.endif +CONFIGURE_ARGS.NetBSD+= --with-gnu-ld --with-ld=/usr/bin/ld +CONFIGURE_ARGS.NetBSD+= --with-gnu-as --with-as=/usr/bin/as +MAKE_ENV.NetBSD+= ac_cv_func_clock_gettime=yes +MAKE_ENV.NetBSD+= ac_cv_func_gethostbyname_r=no +MAKE_ENV.NetBSD+= ac_cv_func_freelocale=no +MAKE_ENV.NetBSD+= ac_cv_func_newlocale=no +MAKE_ENV.NetBSD+= ac_cv_func_uselocale=no +MAKE_ENV.SunOS+= ac_cv_func_mkostemp=no + +.if !empty(PKGSRC_COMPILER:Mclang) || ${OPSYS} == "DragonFly" +CONFIGURE_ARGS+= --disable-bootstrap +.endif + +.if ${MACHINE_PLATFORM:MNetBSD-*-i386} || ${MACHINE_PLATFORM:MLinux-*-i386} +CONFIGURE_ARGS+= --with-arch=i486 --with-tune=i486 +.endif + +.if ${MACHINE_PLATFORM:MNetBSD-*-x86_64} || ${MACHINE_PLATFORM:MLinux-*-x86_64} +CONFIGURE_ARGS+= --with-arch=nocona --with-tune=nocona --with-fpmath=sse +.endif + +.if ${MACHINE_PLATFORM:MDarwin-[0-8].*-*} +CONFIGURE_ARGS+= --with-dwarf2 +.endif + +# ${WRKSRC}/fixincludes/ looks for sed and compiles the path to sed into +# a binary so we need to make sure we give it the installed sed and not +# the tool wrapped one. +MAKE_ENV+= ac_cv_path_SED=${TOOLS_SED} +MAKE_ENV+= lt_cv_path_SED=${TOOLS_SED} + +# Determine whether to use binutils +.if ${OPSYS} == "SunOS" +. if exists(/usr/sfw/bin/gobjdump) +CONFIGURE_ENV+= OBJDUMP=/usr/sfw/bin/gobjdump +. endif +. if exists(/usr/bin/ld) +CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/bin/ld +. else +CONFIGURE_ARGS+= --without-gnu-ld --with-ld=/usr/ccs/bin/ld +. endif +. if exists(/usr/sfw/bin/gas) +CONFIGURE_ARGS+= --with-gnu-as --with-as=/usr/sfw/bin/gas +. elif exists(/usr/ccs/bin/as) +CONFIGURE_ARGS+= --without-gnu-as --with-as=/usr/ccs/bin/as +. else +BUILDLINK_DEPMETHOD.binutils= full +. include "../../devel/binutils/buildlink3.mk" +CONFIGURE_ARGS+= --with-gnu-as --with-as=${PREFIX}/bin/gas +. endif +.endif + +.if ${OS_VARIANT} == "SmartOS" +SUBST_CLASSES+= ccs +SUBST_STAGE.ccs= pre-configure +SUBST_FILES.ccs= contrib/make_sunver.pl +SUBST_SED.ccs= -e 's,/usr/ccs/bin,/usr/bin,g' +.endif + +pre-configure: + ${RUN} cd ${WRKSRC} && ${MKDIR} ${OBJDIR} + +CHECK_BUILTIN.zlib:= yes +.include "../../devel/zlib/builtin.mk" +CHECK_BUILTIN.zlib:= no +.if ${USE_BUILTIN.zlib:tl} == yes +CONFIGURE_ARGS+= --with-system-zlib +.else +CONFIGURE_ARGS+= --without-system-zlib +.endif +.include "../../mk/dlopen.buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" Index: pkgsrc/lang/gcc13/buildlink3.mk diff -u /dev/null pkgsrc/lang/gcc13/buildlink3.mk:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/buildlink3.mk Wed May 3 20:03:09 2023 @@ -0,0 +1,24 @@ +# $NetBSD: buildlink3.mk,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +BUILDLINK_TREE+= gcc13 + +.if !defined(GCC13_BUILDLINK3_MK) +GCC13_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.gcc13+= gcc13>=${_GCC_REQD} +BUILDLINK_ABI_DEPENDS.gcc13+= gcc13>=13.1 +BUILDLINK_PKGSRCDIR.gcc13= ../../lang/gcc13 +BUILDLINK_DEPMETHOD.gcc13?= build + +BUILDLINK_PASSTHRU_DIRS+= ${BUILDLINK_PREFIX.gcc13}/gcc13 + +BUILDLINK_FILES.gcc13= # empty +BUILDLINK_AUTO_VARS.gcc13= no + +pkgbase := gcc13 +.include "../../mk/pkg-build-options.mk" +.include "../../mk/dlopen.buildlink3.mk" +.include "../../mk/pthread.buildlink3.mk" +.endif + +BUILDLINK_TREE+= -gcc13 Index: pkgsrc/lang/gcc13/distinfo diff -u /dev/null pkgsrc/lang/gcc13/distinfo:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/distinfo Wed May 3 20:03:09 2023 @@ -0,0 +1,28 @@ +$NetBSD: distinfo,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +BLAKE2s (gcc-13.1.0.tar.xz) = fea51ae6811529deae1ee8159444a15dbff3db4320cb7f42b1a42b5c243eb9dd +SHA512 (gcc-13.1.0.tar.xz) = 6cf06dfc48f57f5e67f7efe3248019329a14d690c728d9f2f7ef5fa0d58f1816f309586ba7ea2eac20d0b60a2d1b701f68392e9067dd46f827ba0efd7192db33 +Size (gcc-13.1.0.tar.xz) = 87451196 bytes +BLAKE2s (isl-0.24.tar.xz) = a3013b0d39b7fe68a1b3e15dc7e925b347d555348ee946a80f5319a76973cd61 +SHA512 (isl-0.24.tar.xz) = ff6bdcff839e1cd473f2a0c1e4dd4a3612ec6fee4544ccbc62b530a7248db2cf93b4b99bf493a86ddf2aba00e768927265d5d411f92061ea85fd7929073428e8 +Size (isl-0.24.tar.xz) = 1930956 bytes +SHA1 (patch-fixincludes_inclhack.def) = 7b00974d3f52a8364190a607f52a5d7e8a6db41a +SHA1 (patch-gcc_Makefile.in) = c0f97c75ba1d37eae894141edd58bb36b734f651 +SHA1 (patch-gcc_config.host) = bf95dd21bfdf79d173e745fbd35c9bb99fdf4087 +SHA1 (patch-gcc_config_aarch64_aarch64-netbsd.h) = abf19e2445bce1773162bddef16cd7f41eb36827 +SHA1 (patch-gcc_config_arm_arm.h) = 9d554349869d67d6393552c33a7824f0dd53cb11 +SHA1 (patch-gcc_config_arm_bpabi.h) = 0b0de5ad95442e34397cb46739ef6e36048d6f45 +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) = 568f537d624199ef9f9f56088fe4fff7e946b2e2 +SHA1 (patch-gcc_config_nvptx_gen-opt.sh) = 67b8c84f198561c1d964a50946937a0a9cc26749 +SHA1 (patch-gcc_configure) = f13d23c46315d18fdbc3bbbad26d0763e2b27690 +SHA1 (patch-isl_configure) = a6295c509bdc82e8b54d7dec5252994532463091 +SHA1 (patch-libffi_configure) = 919bbe094e3ce547a0186eeaddb20a662595f79a +SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 89e2dd6aaf2c1f75726f02362d8a8bf7178694ea +SHA1 (patch-libgcc_config.host) = 482d8e868cad209d7bf3c190f3cb70b84e4c63cc +SHA1 (patch-libgcc_crtstuff.c) = a16d465039de00c195cf0694560140a9c38f3a25 +SHA1 (patch-libgfortran_io_io.h) = d44676239a7f45e42054d24bd5224f43c20055c0 +SHA1 (patch-libquadmath_printf_quadmath-printf.c) = 78e09f1e6d61ee57cee83275093cf46b2335d204 +SHA1 (patch-libquadmath_strtod_strtod__l.c) = 6142c10d34174174cce7f06c37eab04dc431b2dc +SHA1 (patch-libstdc++-v3_libsupc++_new__opa.cc) = 4183b00a5ee6e61524da4755c825a0c08fd01ed6 Index: pkgsrc/lang/gcc13/options.mk diff -u /dev/null pkgsrc/lang/gcc13/options.mk:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/options.mk Wed May 3 20:03:09 2023 @@ -0,0 +1,163 @@ +# $NetBSD: options.mk,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +PKG_OPTIONS_VAR= PKG_OPTIONS.${GCC_PKGNAME} +PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-c++ gcc-fortran \ + gcc-go gcc-objc gcc-objc++ gcc-graphite \ + always-libgcc +PKG_SUGGESTED_OPTIONS= gcc-c++ gcc-fortran gcc-objc gcc-objc++ \ + gcc-graphite gcc-inplace-math + +.include "../../mk/bsd.fast.prefs.mk" + +.if ${OPSYS} == "NetBSD" +PKG_SUGGESTED_OPTIONS+= nls +.elif ${OPSYS} == "Linux" +PKG_SUGGESTED_OPTIONS+= nls +.elif ${OPSYS} == "DragonFly" +PKG_SUGGESTED_OPTIONS+= nls +.elif ${OPSYS} == "SunOS" +PKG_SUGGESTED_OPTIONS+= gcc-inplace-math always-libgcc +.else +.endif + +.include "../../mk/compiler.mk" +.if empty(PKGSRC_COMPILER:Mgcc) +PKG_SUGGESTED_OPTIONS+= always-libgcc +.endif + +### +### Determine if multilib is avalible. +### +MULTILIB_SUPPORTED?= unknown +.if ${MACHINE_PLATFORM:MLinux-*-x86_64} +. if exists(/usr/include/x86_64-linux-gnu/gnu) +_GNU_INCLUDE_DIR= /usr/include/x86_64-linux-gnu/gnu +. else +_GNU_INCLUDE_DIR= /usr/include/gnu +. endif +. if exists(${_GNU_INCLUDE_DIR}/stubs-64.h) && \ + !exists(${_GNU_INCLUDE_DIR}/stubs-32.h) +MULTILIB_SUPPORTED= No +. else +MULTILIB_SUPPORTED= Yes +. endif +.endif +.if !empty(MULTILIB_SUPPORTED:M[Yy][Ee][Ss]) +PKG_SUPPORTED_OPTIONS+= gcc-multilib +PKG_SUGGESTED_OPTIONS+= gcc-multilib +.endif + +.include "../../mk/bsd.options.mk" + +### +### Don't install libgcc if it's older than the system one +### +.if empty(PKG_OPTIONS:Malways-libgcc) + +. for _libdir_ in ${_OPSYS_LIB_DIRS} +. if exists(${_libdir_}) +BASE_LIBGCC!= find ${_libdir_} -name libgcc_s.so 2> /dev/null +BASE_LIBGCC_MATCH_STRING!= ${ECHO} ${BASE_LIBGCC} ${GCC13_DIST_VERSION} | \ + ${AWK} -f ../../mk/scripts/larger_symbol_version.awk +. if ${BASE_LIBGCC_MATCH_STRING:Mnewer} +DELETE_INSTALLED_LIBGCC= yes +. endif +. endif +. endfor + +. if ${DELETE_INSTALLED_LIBGCC:Uno} +post-install: delete-installed-libgcc + +.PHONY: delete-installed-libgcc +delete-installed-libgcc: + ${FIND} ${DESTDIR} -name 'libgcc_s.so*' -delete + +. endif + +.endif + +### +### Native Language Support +### +.if !empty(PKG_OPTIONS:Mnls) +USE_TOOLS+= msgfmt +CONFIGURE_ARGS+= --enable-nls +CONFIGURE_ARGS+= --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv} +MAKE_ENV+= ICONVPREFIX=${BUILDLINK_PREFIX.iconv} +.include "../../converters/libiconv/buildlink3.mk" +.include "../../devel/gettext-lib/buildlink3.mk" +.else +CONFIGURE_ARGS+= --disable-nls +.endif + +### +### Multilib Support +### +.if (!empty(MULTILIB_SUPPORTED:M[Yy][Ee][Ss]) && \ + empty(PKG_OPTIONS:Mgcc-multilib) ) || \ + !empty(MULTILIB_SUPPORTED:M[Nn][Oo]) +CONFIGURE_ARGS+= --disable-multilib +.endif + +### +### Build math libraries in place +### +.if !empty(PKG_OPTIONS:Mgcc-inplace-math) +. include "../../devel/gmp/inplace.mk" +. include "../../math/mpcomplex/inplace.mk" +. include "../../math/mpfr/inplace.mk" +.else +CONFIGURE_ARGS+= --with-gmp=${BUILDLINK_PREFIX.gmp} +CONFIGURE_ARGS+= --with-mpc=${BUILDLINK_PREFIX.mpcomplex} +CONFIGURE_ARGS+= --with-mpfr=${BUILDLINK_PREFIX.mpfr} +LIBS.SunOS+= -lgmp +. include "../../devel/gmp/buildlink3.mk" +. include "../../math/mpcomplex/buildlink3.mk" +. include "../../math/mpfr/buildlink3.mk" +.endif + +### +### Graphite Support +### +.if !empty(PKG_OPTIONS:Mgcc-graphite) +ISL24= isl-0.24 +SITES.${ISL24}.tar.bz2= ${MASTER_SITE_GNU:=gcc/infrastructure/} +DISTFILES+= ${ISL24}.tar.xz +.endif + +### +### Optional languages +### Ada could be added although there is a bootstrapping issue. +### + +.if !empty(PKG_OPTIONS:Mgcc-objc++) +. if empty(PKG_OPTIONS:Mgcc-c++) +PKG_OPTIONS+= gcc-c++ +. endif +. if empty(PKG_OPTIONS:Mgcc-objc) +PKG_OPTIONS+= gcc-objc +. endif +LANGS+= obj-c++ +.endif + +.if !empty(PKG_OPTIONS:Mgcc-objc) +LANGS+= objc +.endif + +.if !empty(PKG_OPTIONS:Mgcc-go) +LANGS+= go +.endif + +.if !empty(PKG_OPTIONS:Mgcc-fortran) +LANGS+= fortran +.endif + +.if !empty(PKG_OPTIONS:Mgcc-c++) +LANGS+= c++ +USE_TOOLS+= perl +CONFIGURE_ARGS+= --enable-__cxa_atexit +CONFIGURE_ARGS+= --with-gxx-include-dir=${GCC_PREFIX}/include/c++/ +.else +CONFIGURE_ARGS+= --disable-build-with-cxx +CONFIGURE_ARGS+= --disable-build-poststage1-with-cxx +.endif Index: pkgsrc/lang/gcc13/version.mk diff -u /dev/null pkgsrc/lang/gcc13/version.mk:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/version.mk Wed May 3 20:03:09 2023 @@ -0,0 +1,3 @@ +# $NetBSD: version.mk,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +GCC13_DIST_VERSION:= 13.1.0 Index: pkgsrc/lang/gcc13/patches/patch-fixincludes_inclhack.def diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-fixincludes_inclhack.def:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-fixincludes_inclhack.def Wed May 3 20:03:09 2023 @@ -0,0 +1,36 @@ +$NetBSD: patch-fixincludes_inclhack.def,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +A workaround for Catalina SDK bug from +https://github.com/Homebrew/homebrew-core/pull/44762 + +--- fixincludes/inclhack.def.orig 2020-03-04 08:29:59.000000000 +0000 ++++ fixincludes/inclhack.def +@@ -1269,6 +1269,28 @@ fix = { + }; + + /* ++ * macOS 10.15 does not define __OSX_AVAILABLE_STARTING on ++ * non-clang compilers. ++ */ ++fix = { ++ hackname = darwin_availability; ++ mach = "*-*-darwin*"; ++ files = Availability.h; ++ select = "#endif /\\* __OSX_AVAILABLE_STARTING \\*/"; ++ c_fix = format; ++ c_fix_arg = <<- _EOFix_ ++ #endif /* __OSX_AVAILABLE_STARTING */ ++ #ifndef __OSX_AVAILABLE_STARTING ++ #define __OSX_AVAILABLE_STARTING(_osx, _ios) ++ #define __OSX_AVAILABLE_BUT_DEPRECATED(_osxIntro, _osxDep, _iosIntro, _iosDep) ++ #define __OSX_AVAILABLE_BUT_DEPRECATED_MSG(_osxIntro, _osxDep, _iosIntro, _iosDep, _msg) ++ #endif ++ _EOFix_; ++ ++ test_text = "#endif /* __OSX_AVAILABLE_STARTING */"; ++}; ++ ++/* + * macOS 10.12 uses __attribute__((availability)) + * unconditionally. + */ Index: pkgsrc/lang/gcc13/patches/patch-gcc_Makefile.in diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_Makefile.in:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_Makefile.in Wed May 3 20:03:09 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-gcc_Makefile.in,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Add gcc libdir to a programs rpath so that _this gcc's_ support libraries +are found. + +--- gcc/Makefile.in.orig 2017-04-18 18:10:27.000000000 +0000 ++++ gcc/Makefile.in +@@ -2112,6 +2112,7 @@ prefix.o: $(BASEVER) + # Language-independent files. + + DRIVER_DEFINES = \ ++ -DLINK_LIBGCC_SPEC="\"%D $(LINKER_RPATH_FLAG) $(prefix)//lib/%M $(LINKER_RPATH_FLAG) $(libdir)/%M \"" \ + -DSTANDARD_STARTFILE_PREFIX=\"$(unlibsubdir)/\" \ + -DSTANDARD_EXEC_PREFIX=\"$(libdir)/gcc/\" \ + -DSTANDARD_LIBEXEC_PREFIX=\"$(libexecdir)/gcc/\" \ Index: pkgsrc/lang/gcc13/patches/patch-gcc_config.host diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config.host:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config.host Wed May 3 20:03:09 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-gcc_config.host,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Add aarch64*-*-netbsd*. + +--- gcc/config.host.orig 2022-05-06 07:30:56.000000000 +0000 ++++ gcc/config.host +@@ -99,7 +99,7 @@ case ${host} in + esac + + case ${host} in +- aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia* |\ ++ aarch64*-*-freebsd* | aarch64*-*-netbsd* | aarch64*-*-linux* | aarch64*-*-fuchsia* |\ + aarch64*-*-darwin*) + case ${target} in + aarch64*-*-*) Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_aarch64_aarch64-netbsd.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_aarch64_aarch64-netbsd.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_aarch64_aarch64-netbsd.h Wed May 3 20:03:09 2023 @@ -0,0 +1,18 @@ +$NetBSD: patch-gcc_config_aarch64_aarch64-netbsd.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Match what is in NetBSD src. Fixes at least aarch64eb, and +probably several others. + +--- gcc/config/aarch64/aarch64-netbsd.h.orig 2021-04-08 04:56:28.033740243 -0700 ++++ gcc/config/aarch64/aarch64-netbsd.h 2021-04-24 00:16:41.451665444 -0700 +@@ -20,6 +20,10 @@ + #ifndef GCC_AARCH64_NETBSD_H + #define GCC_AARCH64_NETBSD_H + ++/* NetBSD malloc(3) does 64, not 128 bytes. */ ++#undef MALLOC_ABI_ALIGNMENT ++#define MALLOC_ABI_ALIGNMENT 64 ++ + #define TARGET_LINKER_BIG_EMULATION "aarch64nbsdb" + #define TARGET_LINKER_LITTLE_EMULATION "aarch64nbsd" + Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_arm.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_arm.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_arm.h Wed May 3 20:03:09 2023 @@ -0,0 +1,45 @@ +$NetBSD: patch-gcc_config_arm_arm.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +--- gcc/config/arm/arm.h.orig 2021-04-08 04:56:28.057740534 -0700 ++++ gcc/config/arm/arm.h 2022-01-31 21:11:39.595024008 -0800 +@@ -937,6 +937,11 @@ + #define ARM_UNWIND_INFO 0 + #endif + ++/* Overriden by config/arm/netbsd-eabi.h. */ ++#ifndef ARM_DWARF_UNWIND_TABLES ++#define ARM_DWARF_UNWIND_TABLES 0 ++#endif ++ + /* Use r0 and r1 to pass exception handling information. */ + #define EH_RETURN_DATA_REGNO(N) (((N) < 2) ? N : INVALID_REGNUM) + +@@ -948,11 +953,19 @@ + #define ARM_TARGET2_DWARF_FORMAT DW_EH_PE_pcrel + #endif + ++#if ARM_DWARF_UNWIND_TABLES ++/* DWARF unwinding uses the normal indirect/pcrel vs absptr format ++ for 32bit platforms. */ ++#define ASM_PREFERRED_EH_DATA_FORMAT(CODE, GLOBAL) \ ++ (flag_pic ? (((GLOBAL) ? DW_EH_PE_indirect : 0) | DW_EH_PE_pcrel | DW_EH_PE_sdata4) \ ++ : DW_EH_PE_absptr) ++#else + /* ttype entries (the only interesting data references used) + use TARGET2 relocations. */ + #define ASM_PREFERRED_EH_DATA_FORMAT(code, data) \ + (((code) == 0 && (data) == 1 && ARM_UNWIND_INFO) ? ARM_TARGET2_DWARF_FORMAT \ + : DW_EH_PE_absptr) ++#endif + + /* The native (Norcroft) Pascal compiler for the ARM passes the static chain + as an invisible last argument (possible since varargs don't exist in +@@ -2342,7 +2355,7 @@ + + /* -mcpu=native handling only makes sense with compiler running on + an ARM chip. */ +-#if defined(__arm__) ++#if defined(__arm__) && defined(__linux__) + extern const char *host_detect_local_cpu (int argc, const char **argv); + #define HAVE_LOCAL_CPU_DETECT + # define MCPU_MTUNE_NATIVE_FUNCTIONS \ Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_bpabi.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_bpabi.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_bpabi.h Wed May 3 20:03:09 2023 @@ -0,0 +1,22 @@ +$NetBSD: patch-gcc_config_arm_bpabi.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +--- gcc/config/arm/bpabi.h.orig 2021-04-08 04:56:28.061740583 -0700 ++++ gcc/config/arm/bpabi.h 2022-01-31 21:13:16.734263818 -0800 +@@ -24,6 +24,7 @@ + . */ + + /* Use the AAPCS ABI by default. */ ++#undef ARM_DEFAULT_ABI + #define ARM_DEFAULT_ABI ARM_ABI_AAPCS + + /* Assume that AAPCS ABIs should adhere to the full BPABI. */ +@@ -107,7 +108,9 @@ + /* The BPABI specifies the use of .{init,fini}_array. Therefore, we + do not want GCC to put anything into the .{init,fini} sections. */ + #undef INIT_SECTION_ASM_OP ++#define INIT_SECTION_ASM_OP "" + #undef FINI_SECTION_ASM_OP ++#define FINI_SECTION_ASM_OP "" + #define INIT_ARRAY_SECTION_ASM_OP ARM_EABI_CTORS_SECTION_OP + #define FINI_ARRAY_SECTION_ASM_OP ARM_EABI_DTORS_SECTION_OP + Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_elf.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_elf.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_elf.h Wed May 3 20:03:09 2023 @@ -0,0 +1,14 @@ +$NetBSD: patch-gcc_config_arm_elf.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +--- gcc/config/arm/elf.h.orig 2021-04-08 04:56:28.065740630 -0700 ++++ gcc/config/arm/elf.h 2022-01-31 21:14:04.684223580 -0800 +@@ -147,6 +147,8 @@ + #undef L_floatdidf + #undef L_floatdisf + #undef L_floatundidf ++/* XXXMRG: don't take this out, we need it! */ ++# ifndef __NetBSD__ + #undef L_floatundisf ++# endif + #endif +- Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-eabi.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-eabi.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-eabi.h Wed May 3 20:03:09 2023 @@ -0,0 +1,57 @@ +$NetBSD: patch-gcc_config_arm_netbsd-eabi.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +--- gcc/config/arm/netbsd-eabi.h.orig 2021-04-08 04:56:28.065740630 -0700 ++++ gcc/config/arm/netbsd-eabi.h 2022-01-31 21:15:29.555403989 -0800 +@@ -49,8 +49,8 @@ + + #undef ARM_UNWIND_INFO + #define ARM_UNWIND_INFO 0 +-#undef DWARF2_UNWIND_INFO +-#define DWARF2_UNWIND_INFO 1 ++#undef ARM_DWARF_UNWIND_TABLES ++#define ARM_DWARF_UNWIND_TABLES 1 + + #undef TARGET_OS_CPP_BUILTINS + #define TARGET_OS_CPP_BUILTINS() \ +@@ -59,7 +59,7 @@ + if (TARGET_AAPCS_BASED) \ + TARGET_BPABI_CPP_BUILTINS(); \ + NETBSD_OS_CPP_BUILTINS_ELF(); \ +- if (DWARF2_UNWIND_INFO) \ ++ if (ARM_DWARF_UNWIND_TABLES) \ + builtin_define ("__ARM_DWARF_EH__"); \ + } \ + while (0) +@@ -81,17 +81,25 @@ + + #undef SUBTARGET_EXTRA_ASM_SPEC + #define SUBTARGET_EXTRA_ASM_SPEC \ +- "%{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu} " \ ++ "-matpcs %{mabi=apcs-gnu|mabi=atpcs:-meabi=gnu} " \ + "%{fpic|fpie:-k} " \ + "%{fPIC|fPIE:-k}" + ++/* Default to full VFP if -mhard-float is specified. */ ++#undef SUBTARGET_ASM_FLOAT_SPEC ++#define SUBTARGET_ASM_FLOAT_SPEC \ ++ "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \ ++ %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}" ++ + #undef SUBTARGET_EXTRA_SPECS + #define SUBTARGET_EXTRA_SPECS \ + { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \ ++ { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \ + { "linker_eabi_suffix", TARGET_LINKER_EABI_SUFFIX }, \ + { "linker_emulation", TARGET_LINKER_EMULATION }, \ + { "linker_big_emulation", TARGET_LINKER_BIG_EMULATION }, \ + { "linker_little_emulation", TARGET_LINKER_LITTLE_EMULATION }, \ ++ { "be8_link_spec", BE8_LINK_SPEC }, \ + { "target_fix_v4bx_spec", TARGET_FIX_V4BX_SPEC }, \ + NETBSD_SUBTARGET_EXTRA_SPECS + +@@ -102,4 +110,5 @@ + "-X %{mbig-endian:-EB -m %(linker_big_emulation)} " \ + "%{mlittle-endian:-EL -m %(linker_liitle_emulation)} " \ + "%{!mbig-endian:%{!mlittle-endian:-m %(linker_emulation)}} " \ ++ "%(be8_link_spec) " \ + "%(target_fix_v4bx_spec) %(netbsd_link_spec)" Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-elf.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-elf.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_arm_netbsd-elf.h Wed May 3 20:03:09 2023 @@ -0,0 +1,80 @@ +$NetBSD: patch-gcc_config_arm_netbsd-elf.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +--- gcc/config/arm/netbsd-elf.h.orig 2023-04-26 07:09:39.000000000 +0000 ++++ gcc/config/arm/netbsd-elf.h +@@ -27,9 +27,20 @@ + + /* arm.h defaults to ARM6 CPU. */ + +-/* This defaults us to little-endian. */ +-#ifndef TARGET_ENDIAN_DEFAULT +-#define TARGET_ENDIAN_DEFAULT 0 ++/* Default EABI to armv5t so that thumb shared libraries work. ++ The ARM926EH-S core is the default for armv5te, so set ++ SUBTARGET_CPU_DEFAULT to achieve this. */ ++ ++#define SUBTARGET_CPU_DEFAULT \ ++ (ARM_DEFAULT_ABI != ARM_ABI_APCS && ARM_DEFAULT_ABI != ARM_ABI_ATPCS \ ++ ? TARGET_CPU_arm926ejs : TARGET_CPU_arm6) ++ ++/* TARGET_BIG_ENDIAN_DEFAULT is set in ++ config.gcc for big endian configurations. */ ++#if TARGET_BIG_ENDIAN_DEFAULT ++#define TARGET_ENDIAN_DEFAULT MASK_BIG_END ++#else ++#define TARGET_ENDIAN_DEFAULT 0 + #endif + + #undef MULTILIB_DEFAULTS +@@ -56,25 +67,28 @@ + + #undef SUBTARGET_EXTRA_ASM_SPEC + #define SUBTARGET_EXTRA_ASM_SPEC \ ++ "-matpcs %{mabi=aapcs*:-meabi=5} " \ + "%{" FPIE_OR_FPIC_SPEC ":-k}" + ++#undef SUBTARGET_EXTRA_SPECS ++#define SUBTARGET_EXTRA_SPECS \ ++ { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \ ++ { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \ ++ NETBSD_SUBTARGET_EXTRA_SPECS ++ + /* Default to full VFP if -mfloat-abi=hard is specified. */ + #undef SUBTARGET_ASM_FLOAT_SPEC +-#define SUBTARGET_ASM_FLOAT_SPEC \ +- "%{mfloat-abi=hard:{!mfpu=*:-mfpu=vfp}}" +- +-#undef SUBTARGET_EXTRA_SPECS +-#define SUBTARGET_EXTRA_SPECS \ +- { "subtarget_extra_asm_spec", SUBTARGET_EXTRA_ASM_SPEC }, \ +- { "subtarget_asm_float_spec", SUBTARGET_ASM_FLOAT_SPEC }, \ +- { "netbsd_link_spec", NETBSD_LINK_SPEC_ELF }, \ +- { "netbsd_entry_point", NETBSD_ENTRY_POINT }, ++#define SUBTARGET_ASM_FLOAT_SPEC \ ++ "%{mhard-float:%{!mfpu=*:-mfpu=vfp}} \ ++ %{mfloat-abi=hard:%{!mfpu=*:-mfpu=vfp}}" + + #define NETBSD_ENTRY_POINT "__start" + + #undef LINK_SPEC + #define LINK_SPEC \ +- "-X %{mbig-endian:-EB} %{mlittle-endian:-EL} \ ++ "-X \ ++ %{mbig-endian:-EB %{-mabi=aapcs*:-m armelfb_nbsd_eabi}} \ ++ %{mlittle-endian:-EL %{-mabi=aapcs*:-m armelf_nbsd_eabi}} \ + %(netbsd_link_spec)" + + /* Make GCC agree with . */ +@@ -85,6 +99,12 @@ + #undef PTRDIFF_TYPE + #define PTRDIFF_TYPE "long int" + ++#undef INTPTR_TYPE ++#define INTPTR_TYPE PTRDIFF_TYPE ++ ++#undef UINTPTR_TYPE ++#define UINTPTR_TYPE SIZE_TYPE ++ + /* NetBSD does its profiling differently to the Acorn compiler. We + don't need a word following the mcount call; and to skip it + requires either an assembly stub or use of fomit-frame-pointer when Index: pkgsrc/lang/gcc13/patches/patch-gcc_config_nvptx_gen-opt.sh diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_config_nvptx_gen-opt.sh:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_config_nvptx_gen-opt.sh Wed May 3 20:03:09 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-gcc_config_nvptx_gen-opt.sh,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Portability fix. + +--- gcc/config/nvptx/gen-opt.sh.orig 2022-06-15 15:52:17.000000000 +0000 ++++ gcc/config/nvptx/gen-opt.sh +@@ -56,7 +56,7 @@ EnumValue + Enum(ptx_isa) String(sm_$sm) Value(PTX_ISA_SM$sm) + EOF + +- if [ "$sm" == "$last" ]; then ++ if [ "$sm" = "$last" ]; then + # Don't end with trailing empty line. + continue + fi Index: pkgsrc/lang/gcc13/patches/patch-gcc_configure diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-gcc_configure:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-gcc_configure Wed May 3 20:03:09 2023 @@ -0,0 +1,26 @@ +$NetBSD: patch-gcc_configure,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Portability fix. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90143 + +--- gcc/configure.orig 2022-05-06 07:30:57.000000000 +0000 ++++ gcc/configure +@@ -6395,7 +6395,7 @@ _ACEOF + if test "$enable_largefile" != no; then + case "$host, $build" in + *-*-aix*,*|*,*-*-aix*) +- if test "$ac_cv_sizeof_ino_t" == "4" -a "$ac_cv_sizeof_dev_t" == 4; then ++ if test "$ac_cv_sizeof_ino_t" = "4" -a "$ac_cv_sizeof_dev_t" = 4; then + + $as_echo "#define HOST_STAT_FOR_64BIT_INODES stat64x" >>confdefs.h + +@@ -31598,7 +31598,7 @@ case "$target" in + gcc_cv_target_dl_iterate_phdr=no + fi + ;; +- *-*-dragonfly* | *-*-freebsd*) ++ *-*-dragonfly* | *-*-freebsd* | *-*-netbsd* ) + if grep dl_iterate_phdr $target_header_dir/sys/link_elf.h > /dev/null 2>&1; then + gcc_cv_target_dl_iterate_phdr=yes + else Index: pkgsrc/lang/gcc13/patches/patch-isl_configure diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-isl_configure:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-isl_configure Wed May 3 20:03:09 2023 @@ -0,0 +1,24 @@ +$NetBSD: patch-isl_configure,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Fix unportable test(1) operator. + +--- isl/configure.orig 2021-04-26 09:13:19.000000000 +0000 ++++ isl/configure +@@ -20657,7 +20657,7 @@ else + HAVE_CXX11_FALSE= + fi + +- if test "x$with_int" == "ximath-32"; then ++ if test "x$with_int" = "ximath-32"; then + SMALL_INT_OPT_TRUE= + SMALL_INT_OPT_FALSE='#' + else +@@ -20665,7 +20665,7 @@ else + SMALL_INT_OPT_FALSE= + fi + +-if test "x$with_int" == "ximath-32"; then : ++if test "x$with_int" = "ximath-32"; then : + + + $as_echo "#define USE_SMALL_INT_OPT /**/" >>confdefs.h Index: pkgsrc/lang/gcc13/patches/patch-libffi_configure diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libffi_configure:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libffi_configure Wed May 3 20:03:09 2023 @@ -0,0 +1,16 @@ +$NetBSD: patch-libffi_configure,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90146 +https://github.com/libffi/libffi/issues/485 + +--- libffi/configure.orig 2022-05-06 07:31:19.000000000 +0000 ++++ libffi/configure +@@ -16155,7 +16155,7 @@ case "$target" in + $as_echo "#define FFI_EXEC_TRAMPOLINE_TABLE 1" >>confdefs.h + + ;; +- *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-openbsd* | *-pc-solaris* | *-linux-android*) ++ *-apple-* | *-*-freebsd* | *-*-kfreebsd* | *-*-netbsd* | *-*-openbsd* | *-pc-solaris* | *-linux-android*) + + $as_echo "#define FFI_MMAP_EXEC_WRIT 1" >>confdefs.h + Index: pkgsrc/lang/gcc13/patches/patch-libffi_testsuite_libffi.call_float2.c diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libffi_testsuite_libffi.call_float2.c:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libffi_testsuite_libffi.call_float2.c Wed May 3 20:03:09 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-libffi_testsuite_libffi.call_float2.c,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90146 + +--- libffi/testsuite/libffi.call/float2.c.orig 2022-05-06 07:30:59.000000000 +0000 ++++ libffi/testsuite/libffi.call/float2.c +@@ -47,7 +47,7 @@ int main (void) + /* long double support under SunOS/gcc is pretty much non-existent. + You'll get the odd bus error in library routines like printf() */ + #else +- printf ("%Lf, %Lf, %Lf, %Lf\n", ld, ldblit(f), ld - ldblit(f), LDBL_EPSILON); ++ printf ("%Lf, %Lf, %Lf, %Lf\n", (long double)ld, (long double)ldblit(f), (long double)(ld - ldblit(f)), (long double)LDBL_EPSILON); + #endif + + /* These are not always the same!! Check for a reasonable delta */ Index: pkgsrc/lang/gcc13/patches/patch-libgcc_config.host diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libgcc_config.host:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libgcc_config.host Wed May 3 20:03:09 2023 @@ -0,0 +1,25 @@ +$NetBSD: patch-libgcc_config.host,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +This is needed for arm64 to get Out-of-line LSE atomics linked into libgcc. +libsupc++ fails to link without this, and for arm to build. + +--- libgcc/config.host.orig 2023-04-26 07:09:43.000000000 +0000 ++++ libgcc/config.host +@@ -388,6 +388,7 @@ aarch64*-*-freebsd*) + aarch64*-*-netbsd*) + extra_parts="$extra_parts crtfastmath.o" + tmake_file="${tmake_file} ${cpu_type}/t-aarch64" ++ tmake_file="${tmake_file} ${cpu_type}/t-lse" + tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm" + tmake_file="${tmake_file} t-dfprules" + md_unwind_header=aarch64/aarch64-unwind.h +@@ -479,7 +480,8 @@ arm*-*-netbsdelf*) + case ${host} in + arm*-*-netbsdelf-*eabi*) + tmake_file="${tmake_file} arm/t-netbsd-eabi" +- unwind_header=config/arm/unwind-arm.h ++ # GCC 7 vs NetBSD/eabi -> avoid arm unwinder ++ #unwind_header=config/arm/unwind-arm.h + ;; + *) + tmake_file="${tmake_file} arm/t-netbsd t-slibgcc-gld-nover" Index: pkgsrc/lang/gcc13/patches/patch-libgcc_crtstuff.c diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libgcc_crtstuff.c:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libgcc_crtstuff.c Wed May 3 20:03:09 2023 @@ -0,0 +1,15 @@ +$NetBSD: patch-libgcc_crtstuff.c,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90147 + +--- libgcc/crtstuff.c.orig 2017-01-01 12:07:43.000000000 +0000 ++++ libgcc/crtstuff.c +@@ -81,7 +81,7 @@ call_ ## FUNC (void) \ + #endif + + #if defined(TARGET_DL_ITERATE_PHDR) && \ +- (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__)) ++ (defined(__DragonFly__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__)) + #define BSD_DL_ITERATE_PHDR_AVAILABLE + #endif + Index: pkgsrc/lang/gcc13/patches/patch-libgfortran_io_io.h diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libgfortran_io_io.h:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libgfortran_io_io.h Wed May 3 20:03:09 2023 @@ -0,0 +1,18 @@ +$NetBSD: patch-libgfortran_io_io.h,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Don't declare old_locale* an internal_proto to avoid linking problems + +--- libgfortran/io/io.h.orig 2018-01-07 10:17:52.000000000 +0000 ++++ libgfortran/io/io.h +@@ -57,11 +57,8 @@ extern locale_t c_locale; + internal_proto(c_locale); + #else + extern char* old_locale; +-internal_proto(old_locale); + extern int old_locale_ctr; +-internal_proto(old_locale_ctr); + extern __gthread_mutex_t old_locale_lock; +-internal_proto(old_locale_lock); + #endif + + Index: pkgsrc/lang/gcc13/patches/patch-libquadmath_printf_quadmath-printf.c diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libquadmath_printf_quadmath-printf.c:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libquadmath_printf_quadmath-printf.c Wed May 3 20:03:09 2023 @@ -0,0 +1,26 @@ +$NetBSD: patch-libquadmath_printf_quadmath-printf.c,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Fix -Werror=char-subscripts. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95178 + +--- libquadmath/printf/quadmath-printf.c.orig 2020-05-07 10:50:02.000000000 +0000 ++++ libquadmath/printf/quadmath-printf.c +@@ -189,7 +189,7 @@ quadmath_snprintf (char *str, size_t siz + ++format; + info.width = va_arg (ap, int); + } +- else if (isdigit (*format)) ++ else if (isdigit ((unsigned char) *format)) + /* Constant width specification. */ + info.width = read_int (&format); + +@@ -206,7 +206,7 @@ quadmath_snprintf (char *str, size_t siz + + info.prec = va_arg (ap, int); + } +- else if (isdigit (*format)) ++ else if (isdigit ((unsigned char) *format)) + info.prec = read_int (&format); + else + /* "%.?" is treated like "%.0?". */ Index: pkgsrc/lang/gcc13/patches/patch-libquadmath_strtod_strtod__l.c diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libquadmath_strtod_strtod__l.c:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libquadmath_strtod_strtod__l.c Wed May 3 20:03:09 2023 @@ -0,0 +1,23 @@ +$NetBSD: patch-libquadmath_strtod_strtod__l.c,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Fix -Werror=char-subscripts. + +https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95178 + +--- libquadmath/strtod/strtod_l.c.orig 2020-05-07 10:50:02.000000000 +0000 ++++ libquadmath/strtod/strtod_l.c +@@ -57,10 +57,10 @@ + # define STRING_TYPE char + # define CHAR_TYPE char + # define L_(Ch) Ch +-# define ISSPACE(Ch) isspace (Ch) +-# define ISDIGIT(Ch) isdigit (Ch) +-# define ISXDIGIT(Ch) isxdigit (Ch) +-# define TOLOWER(Ch) tolower (Ch) ++# define ISSPACE(Ch) isspace ((unsigned char) Ch) ++# define ISDIGIT(Ch) isdigit ((unsigned char) Ch) ++# define ISXDIGIT(Ch) isxdigit ((unsigned char) Ch) ++# define TOLOWER(Ch) tolower ((unsigned char) Ch) + # define TOLOWER_C(Ch) \ + ({__typeof(Ch) __tlc = (Ch); \ + (__tlc >= 'A' && __tlc <= 'Z') ? __tlc - 'A' + 'a' : __tlc; }) Index: pkgsrc/lang/gcc13/patches/patch-libstdc++-v3_libsupc++_new__opa.cc diff -u /dev/null pkgsrc/lang/gcc13/patches/patch-libstdc++-v3_libsupc++_new__opa.cc:1.1 --- /dev/null Wed May 3 20:03:09 2023 +++ pkgsrc/lang/gcc13/patches/patch-libstdc++-v3_libsupc++_new__opa.cc Wed May 3 20:03:09 2023 @@ -0,0 +1,17 @@ +$NetBSD: patch-libstdc++-v3_libsupc++_new__opa.cc,v 1.1 2023/05/03 20:03:09 wiz Exp $ + +Ensure we can find SunOS std::aligned_alloc if using it. + +--- libstdc++-v3/libsupc++/new_opa.cc.orig 2020-03-04 08:30:03.000000000 +0000 ++++ libstdc++-v3/libsupc++/new_opa.cc +@@ -57,6 +57,10 @@ extern "C" + } + #endif + ++#if defined(__sun) && _GLIBCXX_HAVE_ALIGNED_ALLOC ++using std::aligned_alloc; ++#endif ++ + namespace __gnu_cxx { + #if _GLIBCXX_HAVE_ALIGNED_ALLOC + using ::aligned_alloc; --_----------=_1683144189154960--