pkgsrc-Changes archive

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

CVS commit: pkgsrc/lang/gcc13



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.

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@localhost
+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 <Availability.h> 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 <AvailabilityInternal.h> 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 @@
+    <http://www.gnu.org/licenses/>.  */
+ 
+ /* 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 <machine/ansi.h>.  */
+@@ -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;



Home | Main Index | Thread Index | Old Index