pkgsrc-Changes archive

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

CVS commit: pkgsrc/lang/gcc14-gnat



Module Name:    pkgsrc
Committed By:   dkazankov
Date:           Sat Oct 18 05:31:22 UTC 2025

Modified Files:
        pkgsrc/lang/gcc14-gnat: Makefile distinfo options.mk
        pkgsrc/lang/gcc14-gnat/patches: patch-gcc_ada_adaint.c
            patch-gcc_ada_adaint.h patch-gcc_ada_libgnat_g-socthi.ads
            patch-gcc_ada_libgnat_g-socthi____bsd.adb patch-gcc_config.gcc
            patch-gcc_config_aarch64_aarch64-tune.md
            patch-gcc_config_aarch64_aarch64.cc patch-gcc_targhooks.cc
Removed Files:
        pkgsrc/lang/gcc14-gnat/patches:
            patch-gcc_ada_libgnat_s-osprim____posix.adb
            patch-libgcc_config_t-darwin-libgccs1
            patch-libgcc_config_t-darwin-min-11

Log Message:
gcc14-gnat: migrate to new bootstrap, some patch and option changes

* Update common patches from gcc14.
* Move conditional NetBSD specific Ada patches to SUBST framework.
* Default math now use inplace option.
* GCC's inplace graphite changed to distribution downloading variant.
* NetBSD builds migrated to the new bootstrap compiler.
  Other platforms uses old build with gcc10-aux package which still
  doesn't work.


To generate a diff of this commit:
cvs rdiff -u -r1.6 -r1.7 pkgsrc/lang/gcc14-gnat/Makefile
cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/gcc14-gnat/distinfo
cvs rdiff -u -r1.3 -r1.4 pkgsrc/lang/gcc14-gnat/options.mk
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.c \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.h \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi.ads \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi____bsd.adb
cvs rdiff -u -r1.1 -r0 \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_s-osprim____posix.adb
cvs rdiff -u -r1.2 -r1.3 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config.gcc \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64-tune.md \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64.cc \
    pkgsrc/lang/gcc14-gnat/patches/patch-gcc_targhooks.cc
cvs rdiff -u -r1.2 -r0 \
    pkgsrc/lang/gcc14-gnat/patches/patch-libgcc_config_t-darwin-libgccs1 \
    pkgsrc/lang/gcc14-gnat/patches/patch-libgcc_config_t-darwin-min-11

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

Modified files:

Index: pkgsrc/lang/gcc14-gnat/Makefile
diff -u pkgsrc/lang/gcc14-gnat/Makefile:1.6 pkgsrc/lang/gcc14-gnat/Makefile:1.7
--- pkgsrc/lang/gcc14-gnat/Makefile:1.6 Fri Aug 15 16:57:57 2025
+++ pkgsrc/lang/gcc14-gnat/Makefile     Sat Oct 18 05:31:22 2025
@@ -1,8 +1,8 @@
-# $NetBSD: Makefile,v 1.6 2025/08/15 16:57:57 dkazankov Exp $
+# $NetBSD: Makefile,v 1.7 2025/10/18 05:31:22 dkazankov Exp $
 
 DISTNAME=      gcc-${PKGVERSION_NOREV}
 PKGNAME=       gcc14-gnat-14.3.0
-PKGREVISION=   2
+PKGREVISION=   3
 CATEGORIES=    lang
 MASTER_SITES=  ${MASTER_SITE_GNU:=gcc/${DISTNAME}/}
 EXTRACT_SUFX=  .tar.xz
@@ -12,8 +12,16 @@ HOMEPAGE=    https://gcc.gnu.org/
 COMMENT=       GNAT Compiler and Ada tools
 LICENSE=       gnu-gpl-v2 AND gnu-gpl-v3 AND gnu-lgpl-v2 AND gnu-lgpl-v3
 
-DISTFILES=             ${DEFAULT_DISTFILES}
-EXTRACT_ONLY=          ${DEFAULT_DISTFILES}
+DISTFILES=     ${DEFAULT_DISTFILES}
+
+# The list is copy of one from gcc6-aux as it used as a bootstrapper
+ONLY_FOR_PLATFORM=     DragonFly-*-x86_64   \
+               FreeBSD-*-i386       \
+               FreeBSD-*-x86_64     \
+               SunOS-5.1[1-9]*-i386 \
+               SunOS-5.1[1-9]*-x86_64 \
+               NetBSD-*-i386   \
+               NetBSD-*-x86_64
 
 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065
 BROKEN_ON_PLATFORM=    *-*-i386
@@ -21,7 +29,7 @@ BROKEN_ON_PLATFORM=   *-*-i386
 CHECK_PIE_SUPPORTED=   no
 CHECK_RELRO_SUPPORTED= no
 
-USE_LANGUAGES=         c c++ ada
+USE_LANGUAGES=         #empty
 USE_TOOLS+=            gmake makeinfo sed perl
 USE_TOOLS.NetBSD+=     gsed
 
@@ -29,18 +37,33 @@ INFO_FILES=         yes
 GNU_CONFIGURE=         yes
 GNU_CONFIGURE_STRICT=  no
 
-USE_PKGSRC_GCC=                yes
-
 .include "../../mk/bsd.prefs.mk"
 
-GCC_REQD+=             10
-
 UNLIMIT_RESOURCES+=    datasize
 UNLIMIT_RESOURCES+=    stacksize
 
 CHECK_PORTABILITY_SKIP+=       contrib/*
 CHECK_PORTABILITY_SKIP+=       gcc/configure.orig_dist
 
+USE_GCC_BOOTSTRAP=     no
+
+.if ${OPSYS} == NetBSD
+BOOT_DISTNAME=         gcc-bootstrap-${MACHINE_GNU_PLATFORM}-10.5.0.tar.bz2
+SITES.${BOOT_DISTNAME}=        ${MASTER_SITE_BACKUP}
+
+USE_GCC_BOOTSTRAP=     yes
+.endif
+
+.if ${USE_GCC_BOOTSTRAP:U:tl} == "yes"
+DISTFILES+=    ${BOOT_DISTNAME}
+CC=            ${WRKDIR}/gcc-bootstrap/bin/gcc
+CXX=           ${WRKDIR}/gcc-bootstrap/bin/g++
+.else
+TOOL_DEPENDS+= gcc10-aux-[0-9]*:../../lang/gcc10-aux
+CC=            ${PREFIX}/gcc10-aux/bin/gcc
+CXX=           ${PREFIX}/gcc10-aux/bin/g++
+.endif
+
 ## Build outside ${WRKSRC}
 OBJDIR=                        ${WRKDIR}/build
 CONFIGURE_DIRS=                ${OBJDIR}
@@ -49,6 +72,28 @@ GNU_CONFIGURE_PREFIX=        ${PREFIX}/${PKGBAS
 
 .include "options.mk"
 
+# Use C preprocessed symbols on NetBSD (only)
+.if ${OPSYS} == "NetBSD"
+SUBST_CLASSES+=                patch1
+SUBST_MESSAGE.patch1=  Replace nanosleep, gettimeofday in ${SUBST_FILES.patch1}
+SUBST_STAGE.patch1=    pre-configure
+SUBST_FILES.patch1=    gcc/ada/libgnat/s-osprim__posix.adb
+SUBST_SED.patch1=      -e "s,\"nanosleep\",\"__gnat_nanosleep\","
+SUBST_SED.patch1+=     -e "s,\"gettimeofday\",\"__gnat_gettimeofday\","
+
+SUBST_CLASSES+=                patch2
+SUBST_MESSAGE.patch2=  Replace select with __gnat_select in ${SUBST_FILES.patch2}
+SUBST_STAGE.patch2=    pre-configure
+SUBST_FILES.patch2=    gcc/ada/libgnat/g-socthi.ads
+SUBST_SED.patch2=      -e "s,\"select\",\"__gnat_select\","
+
+SUBST_CLASSES+=                patch3
+SUBST_MESSAGE.patch3=  Replace socket with __gnat_socket in ${SUBST_FILES.patch3}
+SUBST_STAGE.patch3=    pre-configure
+SUBST_FILES.patch3=    gcc/ada/libgnat/g-socthi__bsd.adb
+SUBST_SED.patch3=      -e "s,\"socket\",\"__gnat_socket\","
+.endif
+
 CONFIGURE_ARGS+=       --disable-libstdcxx-pch
 
 .if ${MACHINE_PLATFORM:MDarwin-*-aarch64}
@@ -56,25 +101,30 @@ BUILDLINK_TRANSFORM+=      rm:-nodefaultrpath
 CONFIGURE_ARGS+=       --disable-darwin-at-rpath
 .endif
 
-LDFLAGS+=              -static
-
 # In some cases LINKER_RPATH_FLAG needs a trailing space.
 LINKER_RPATH_FLAG:=    ${LINKER_RPATH_FLAG:S/-rpath/& /}
 
-# 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.
-LDFLAGS_FOR_TARGET=    -static-libstdc++ -static-libgcc
 ## The Library rpath to use in end programs.
+LDFLAGS_FOR_TARGET=    ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/${MACHINE_GNU_PLATFORM}/lib
 LDFLAGS_FOR_TARGET+=   ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib
 LDFLAGS_FOR_TARGET+=   ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib/gcc/${MACHINE_GNU_PLATFORM}/${PKGVERSION_NOREV}/adalib
 LDFLAGS_FOR_TARGET+=   ${COMPILER_RPATH_FLAG}${PREFIX}/lib
 
+# 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
+BOOT_LDFLAGS+=         ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib
+BOOT_LDFLAGS+=         ${COMPILER_RPATH_FLAG}${PREFIX}/${PKGBASE}/lib/gcc/${MACHINE_GNU_PLATFORM}/${PKGVERSION_NOREV}/adalib
+
 # Needed on Darwin when LDFLAGS point to a SDK
 .if !empty(OSX_SDK_PATH)
-LDFLAGS_FOR_TARGET+=           ${LDFLAGS:M-Wl,-syslibroot*}
+BOOT_LDFLAGS+= ${LDFLAGS:M-Wl,-syslibroot*}
 .endif
 
+## For target librarys and libjava programs.
+CONFIGURE_ENV+=                LDFLAGS_FOR_TARGET=${LDFLAGS_FOR_TARGET:Q}
+
 # GCC does not understand this option; remove it, or stage build will fail
 BUILDLINK_TRANSFORM+=  rm:-stdlib=libc++
 
@@ -100,7 +150,12 @@ SUBST_SED.libstdc= -e 's,libtool_VERSION
 CONFIGURE_ARGS+=       --enable-libssp
 .endif
 
-CONFIGURE_ARGS+=       --enable-languages=ada,c,c++ --enable-stage1-languages=ada,c,c++
+.if ${USE_CROSS_COMPILE:U:tl} == "yes"
+CONFIGURE_ENV+=        CC_FOR_BUILD=${NATIVE_CC:Q}
+CONFIGURE_ENV+=        CXX_FOR_BUILD=${NATIVE_CXX:Q}
+.endif
+
+CONFIGURE_ARGS+=       --enable-languages=ada,c,c++
 # This will create slightly slower compiler
 CONFIGURE_ARGS+=       --enable-shared
 CONFIGURE_ARGS+=       --enable-host-shared
@@ -109,14 +164,7 @@ CONFIGURE_ARGS+=   --with-local-prefix=${P
 CONFIGURE_ARGS+=       --with-gxx-include-dir='${PREFIX}/${PKGBASE}/include/c++'
 CONFIGURE_ARGS+=       --enable-__cxa_atexit
 CONFIGURE_ARGS+=       --enable-threads=posix
-
-.if ${USE_CROSS_COMPILE:U:tl} == "yes"
-CONFIGURE_ARGS+=       --with-stage1-ldflags=${LDFLAGS_FOR_TARGET:Q}
-.else
-CONFIGURE_ARGS+=       --with-boot-ldflags=${LDFLAGS_FOR_TARGET:Q}
-CONFIGURE_ARGS+=       --with-stage1-ldflags=${LDFLAGS:Q}
-.endif
-
+CONFIGURE_ARGS+=       --with-boot-ldflags=${BOOT_LDFLAGS:Q}
 # causes build errors even when using lang/gcc14 to self host
 CONFIGURE_ARGS.SunOS+= --disable-libsanitizer
 # multilib on Darwin requires fat-binaries
@@ -222,7 +270,7 @@ post-install:
        ${CHMOD} g-w ${DESTDIR}${PREFIX}/${PKGBASE}/lib/gcc/${MACHINE_GNU_PLATFORM}/${PKGVERSION_NOREV}/adainclude/standard.ads.h
 # Create old name that modern gnat no longer provides
        ${TEST} -f ${DESTDIR}${PREFIX}/${PKGBASE}/bin/gnat && \
-               ( cd ${DESTDIR}${PREFIX}/${PKGBASE}/bin ; ${LN} -f gnat ada )
+               ( ${RUN} cd ${DESTDIR}${PREFIX}/${PKGBASE}/bin && ${LN} -f gnat ada )
 .if ${MACHINE_PLATFORM:MSunOS-*-*86*} && ${OS_VERSION} != "5.11"
        ${SH} files/values.c ${DESTDIR}${PREFIX}/${PKGBASE}/bin/gcc -m32 || ${TRUE}
        ${SH} files/values.c ${DESTDIR}${PREFIX}/${PKGBASE}/bin/gcc -m64 || ${TRUE}
@@ -239,3 +287,14 @@ CONFIGURE_ARGS+=   --with-zstd=${BUILDLINK
 .include "../../mk/pthread.buildlink3.mk"
 
 .include "../../mk/bsd.pkg.mk"
+
+.if ${USE_GCC_BOOTSTRAP:U:tl} == "yes"
+PREPEND_PATH+= ${WRKDIR}/gcc-bootstrap/bin
+.else
+PREPEND_PATH+= ${PREFIX}/gcc10-aux/bin
+.endif
+
+CFLAGS=                -O2
+CPPFLAGS=      #empty
+CXXFLAGS=      -O2
+LDFLAGS=       -static-libstdc++ -static-libgcc

Index: pkgsrc/lang/gcc14-gnat/distinfo
diff -u pkgsrc/lang/gcc14-gnat/distinfo:1.2 pkgsrc/lang/gcc14-gnat/distinfo:1.3
--- pkgsrc/lang/gcc14-gnat/distinfo:1.2 Wed Jun 11 13:27:04 2025
+++ pkgsrc/lang/gcc14-gnat/distinfo     Sat Oct 18 05:31:22 2025
@@ -1,24 +1,29 @@
-$NetBSD: distinfo,v 1.2 2025/06/11 13:27:04 dkazankov Exp $
+$NetBSD: distinfo,v 1.3 2025/10/18 05:31:22 dkazankov Exp $
 
 BLAKE2s (gcc-14.3.0.tar.xz) = 70036c7d07767bba3476d19a6fd52f0b09dc05651c6cf5d136afe18ffa3b63a9
 SHA512 (gcc-14.3.0.tar.xz) = cb4e3259640721bbd275c723fe4df53d12f9b1673afb3db274c22c6aa457865dccf2d6ea20b4fd4c591f6152e6d4b87516c402015900f06ce9d43af66d3b7a93
 Size (gcc-14.3.0.tar.xz) = 95212220 bytes
+BLAKE2s (gcc-bootstrap-x86_64--netbsd-10.5.0.tar.bz2) = 90d731f859fde9db5e416a233eea6fe487bf9c45b974708a5913cbd0cafed0d3
+SHA512 (gcc-bootstrap-x86_64--netbsd-10.5.0.tar.bz2) = e649dc8473c6c526bb447f42235abe7d4abf57d3ab2fe22bb5ca4303f2f08f85a501121c61e0104b17a3dd8c76d54b6925a25401bdccd5590ddab92bed948d70
+Size (gcc-bootstrap-x86_64--netbsd-10.5.0.tar.bz2) = 70613322 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-configure) = 5ecea55b80b6e17dc9584d688369994b4d5f9e54
 SHA1 (patch-configure.ac) = 4e1a22b7cd0935975bb3671689abfa1f6d6396e4
 SHA1 (patch-fixincludes_fixincl.x) = 7a95e277c8a87d766744d0e83d181074b9c4996d
 SHA1 (patch-fixincludes_inclhack.def) = 7054dbfaec472ac34e2acb2bbd7f57ba3a9cfeb9
 SHA1 (patch-gcc_Makefile.in) = a31ddc27f1092cfdf5ac896ca79c8590b5aceb47
 SHA1 (patch-gcc_ada_Makefile.rtl) = b5e8abf551b9aaefecc8219ac033d6e8ba0e5d80
-SHA1 (patch-gcc_ada_adaint.c) = 90a416d1ad99f8fdd1846b0bdb90caa74dd01d16
-SHA1 (patch-gcc_ada_adaint.h) = 0956155bac85df664a8761fd03aec3e12fff89a2
+SHA1 (patch-gcc_ada_adaint.c) = ae87ae97c73d94ef891cd49bdea69c16e8e26bb8
+SHA1 (patch-gcc_ada_adaint.h) = 51195bad13850412a4691bfbb242ad11e3a5a2c7
 SHA1 (patch-gcc_ada_cstreams.c) = 9008ec849de15df4e32a75a7353ede097eca9e38
 SHA1 (patch-gcc_ada_init.c) = 65d93777cf1bb4d4cc3baf04f7160869f01bcdcc
 SHA1 (patch-gcc_ada_libgnarl_s-osinte____netbsd.adb) = fe5cffa06d2ad8af6ab71bbd64fb4d3e0f65c3d8
 SHA1 (patch-gcc_ada_libgnarl_s-osinte____netbsd.ads) = d6d7eee6f7d90d006f5f6209afb7925551d4aba8
 SHA1 (patch-gcc_ada_libgnarl_s-taprop____posix.adb) = 3f3b8d4fd41a9889392021c7cb69130c9033b3b0
-SHA1 (patch-gcc_ada_libgnat_g-socthi.ads) = 9039eb4e649b81b92ef889925f584938c3eb94a6
-SHA1 (patch-gcc_ada_libgnat_g-socthi____bsd.adb) = f1635b16099d2c4a6e0f2a53de9eb549aea0bc2e
-SHA1 (patch-gcc_ada_libgnat_s-osprim____posix.adb) = 15cb19f3e72b4861b4fda4ff087793d95824f544
+SHA1 (patch-gcc_ada_libgnat_g-socthi.ads) = 2660293488e2f9571d213515a2fcceac91847aec
+SHA1 (patch-gcc_ada_libgnat_g-socthi____bsd.adb) = 5826f932f4f24090367a10a2494bf0298d628082
 SHA1 (patch-gcc_ada_s-oscons-tmplt.c) = 79aa49b136163c29a14eb45e70bb9847522a2a5d
 SHA1 (patch-gcc_ada_sysdep.c) = 21c432655a50aadb7378e27af92f7b2dfd96a492
 SHA1 (patch-gcc_ada_terminals.c) = 81a572feb93dba76b0322336d4394ac3ab158944
@@ -36,15 +41,15 @@ SHA1 (patch-gcc_calls.h) = 89b4b16d1c6d0
 SHA1 (patch-gcc_collect2.cc) = 0afb813670c91221416a69a84295efe122a3b258
 SHA1 (patch-gcc_common.opt) = 1aa40a7919fc55f085316ebda18f0e8f4e724da8
 SHA1 (patch-gcc_common_config_aarch64_aarch64-common.cc) = e37205308e70a45bda90244c733e30adaef787d5
-SHA1 (patch-gcc_config.gcc) = 6799bb4f583fca42ca68fd7f9f01fecd9b867155
+SHA1 (patch-gcc_config.gcc) = 9b09ccade2a617943d7c84e8385fb4f840bf160a
 SHA1 (patch-gcc_config.host) = bf95dd21bfdf79d173e745fbd35c9bb99fdf4087
 SHA1 (patch-gcc_config_aarch64_aarch64-builtins.cc) = 6a1d686275eec3598ffefb14973bf768846ab4a1
 SHA1 (patch-gcc_config_aarch64_aarch64-c.cc) = 32c31e906263e7790112140a528e1ca0337e43ff
 SHA1 (patch-gcc_config_aarch64_aarch64-cores.def) = ae9664ad30826fa7fc5c247faf15d7364a000ac0
 SHA1 (patch-gcc_config_aarch64_aarch64-netbsd.h) = d382c66bcecb4ca8b22a4762a3467878bea64ec2
 SHA1 (patch-gcc_config_aarch64_aarch64-protos.h) = d9b90df2600b7d92bca098d9dc4ac965fe94983c
-SHA1 (patch-gcc_config_aarch64_aarch64-tune.md) = 348c478781b970feefbf683b66ade0065720f099
-SHA1 (patch-gcc_config_aarch64_aarch64.cc) = 3de2cc5fe4f4da6ca25b8f7ef0ef659d7bec51f8
+SHA1 (patch-gcc_config_aarch64_aarch64-tune.md) = 4c3d2f4d757e75e6f154936ae6cb0b409aabd8f2
+SHA1 (patch-gcc_config_aarch64_aarch64.cc) = 90cc5b659959c73ef29616cd642924cbdaf674be
 SHA1 (patch-gcc_config_aarch64_aarch64.h) = b2e297c5a37d07b5d360566d111ce7b5c561209d
 SHA1 (patch-gcc_config_aarch64_aarch64.md) = 547637f1096d544897ee906c67f7d18b070ab4cc
 SHA1 (patch-gcc_config_aarch64_aarch64.opt) = 179acff4f1f9f462810a834f71908e94b341b8a3
@@ -81,7 +86,7 @@ SHA1 (patch-gcc_jit_libgccjit.h) = f4c90
 SHA1 (patch-gcc_opts.cc) = 5cebef0db25dc6cfd1d067a934183bda5ab481ee
 SHA1 (patch-gcc_target.def) = 492dd52d713affb9c976a184aac289ef17c4611c
 SHA1 (patch-gcc_target.h) = 8f874ab5b7894285d9ddcbabd23be9517e6775d6
-SHA1 (patch-gcc_targhooks.cc) = 96676212a086a1fe260d36364eab4abc3573e63b
+SHA1 (patch-gcc_targhooks.cc) = 26783d97e8e4240e3a9f4e6c40d0f66916d75115
 SHA1 (patch-gcc_targhooks.h) = 6769cdc38b6a586306f224c4b8bef32b8898cddb
 SHA1 (patch-gcc_testsuite_g++.dg_cpp0x_pr106435-b.cc) = a4d22c5924393b549caea0395e9490dcea356f83
 SHA1 (patch-gcc_testsuite_g++.dg_cpp0x_pr106435.C) = 3a60c331c0039c28b28ca17e97f752e6d1e59095
@@ -92,6 +97,7 @@ SHA1 (patch-gcc_testsuite_gcc.target_aar
 SHA1 (patch-gcc_testsuite_gcc.target_aarch64_sme_aarch64-sme.exp) = 6ffd976b161e4cc669c0575d52f7c8b6971a48f0
 SHA1 (patch-gcc_tree.h) = 66754172db9ff6bbc8eae242fe9c821528a864b4
 SHA1 (patch-gnattools_configure) = 403e5576506d1a7f42740dcbfc79c1aee3333169
+SHA1 (patch-isl_configure) = a6295c509bdc82e8b54d7dec5252994532463091
 SHA1 (patch-libcody_configure) = 361fa471f6afb578782322586395faa8f4e9a40c
 SHA1 (patch-libffi_configure) = b7e3ac7febb98e789d7b662bd2e80edae61345a1
 SHA1 (patch-libffi_testsuite_libffi.call_float2.c) = 89e2dd6aaf2c1f75726f02362d8a8bf7178694ea
@@ -104,8 +110,6 @@ SHA1 (patch-libgcc_config_aarch64_aarch6
 SHA1 (patch-libgcc_config_aarch64_lse.S) = e5514c14549ab63d3d957f27b4cb8e23a18e5f28
 SHA1 (patch-libgcc_config_aarch64_sfp-machine.h) = e55d4df31ede8013eb0d0a61ac5daba39d374c3a
 SHA1 (patch-libgcc_config_aarch64_t-darwin) = 4ddd3fec628baedf4cda70aa0c97d540c38cb9c1
-SHA1 (patch-libgcc_config_t-darwin-libgccs1) = 8cbaae6abfe53f44373b703555849d34ed9bcafe
-SHA1 (patch-libgcc_config_t-darwin-min-11) = 0f042ad1346026de4ef0936904200430a938b8d2
 SHA1 (patch-libgcc_crtstuff.c) = a16d465039de00c195cf0694560140a9c38f3a25
 SHA1 (patch-libgfortran_io_io.h) = 90f710d33bb0adafae6bbc8f2da63024211811e9
 SHA1 (patch-libitm_config_aarch64_sjlj.S) = d3661ebf118286964d0eba7c79291d6cf37abbfe
@@ -114,3 +118,4 @@ SHA1 (patch-libphobos_libdruntime_core_i
 SHA1 (patch-libquadmath_printf_quadmath-printf.c) = 78e09f1e6d61ee57cee83275093cf46b2335d204
 SHA1 (patch-libquadmath_strtod_strtod__l.c) = 6142c10d34174174cce7f06c37eab04dc431b2dc
 SHA1 (patch-libstdc++-v3_libsupc++_new__opa.cc) = dc0bffea3a5172377a4bca3224cb0986a1708632
+SHA1 (patch-zlib_zutil.h) = ef6f2439488a1b97bca9c33fc16e2e7447f0d158

Index: pkgsrc/lang/gcc14-gnat/options.mk
diff -u pkgsrc/lang/gcc14-gnat/options.mk:1.3 pkgsrc/lang/gcc14-gnat/options.mk:1.4
--- pkgsrc/lang/gcc14-gnat/options.mk:1.3       Wed Jul  2 06:28:28 2025
+++ pkgsrc/lang/gcc14-gnat/options.mk   Sat Oct 18 05:31:22 2025
@@ -1,8 +1,8 @@
-# $NetBSD: options.mk,v 1.3 2025/07/02 06:28:28 dkazankov Exp $
+# $NetBSD: options.mk,v 1.4 2025/10/18 05:31:22 dkazankov Exp $
 
 PKG_OPTIONS_VAR=       PKG_OPTIONS.gcc14-gnat
 PKG_SUPPORTED_OPTIONS= nls gcc-inplace-math gcc-graphite
-PKG_SUGGESTED_OPTIONS= gcc-graphite
+PKG_SUGGESTED_OPTIONS= gcc-inplace-math gcc-graphite
 
 .include "../../mk/bsd.fast.prefs.mk"
 
@@ -52,10 +52,10 @@ USE_TOOLS+=         msgfmt
 CONFIGURE_ARGS+=       --enable-nls
 CONFIGURE_ARGS+=       --with-libiconv-prefix=${BUILDLINK_PREFIX.iconv}
 MAKE_ENV+=             ICONVPREFIX=${BUILDLINK_PREFIX.iconv}
-.if ${OPSYS} == "NetBSD"
+.  if ${OPSYS} == "NetBSD"
 USE_GNU_ICONV=         yes
 USE_BUILTIN.gettext=   no
-.endif
+.  endif
 .include "../../converters/libiconv/buildlink3.mk"
 .include "../../devel/gettext-lib/buildlink3.mk"
 .else
@@ -93,11 +93,15 @@ LIBS.SunOS+=                -lgmp
 ### Graphite Support
 ###
 .if !empty(PKG_OPTIONS:Mgcc-graphite)
-BUILDLINK_API_DEPENDS.isl+=    isl>=0.24
 .  if !empty(PKG_OPTIONS:Mgcc-inplace-math)
-.    include "../../math/isl/inplace.mk"
-FORCE_CXX_STD= c++17
+ISL24=                 isl-0.24
+SITES.${ISL24}.tar.bz2=        ${MASTER_SITE_GNU:=gcc/infrastructure/}
+DISTFILES+=            ${ISL24}.tar.xz
+post-extract:
+       ${MV} ${WRKDIR}/${ISL24} ${WRKSRC}/isl
+
 .  else
+BUILDLINK_API_DEPENDS.isl+=    isl>=0.24
 .    include "../../math/isl/buildlink3.mk"
 CONFIGURE_ARGS+=       --with-isl=${BUILDLINK_PREFIX.isl}
 .  endif

Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.c
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.c:1.1 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.c:1.2
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.c:1.1   Fri Apr 25 19:35:10 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.c       Sat Oct 18 05:31:22 2025
@@ -1,12 +1,11 @@
-$NetBSD: patch-gcc_ada_adaint.c,v 1.1 2025/04/25 19:35:10 dkazankov Exp $
+$NetBSD: patch-gcc_ada_adaint.c,v 1.2 2025/10/18 05:31:22 dkazankov Exp $
 
 NetBSD does not use symbol versioning, which requires some functions
-to be preprocessed in C. This patch adds those functions definitions,
-not only for NetBSD, but for any other system too.
+to be preprocessed in C. This patch adds those functions definitions.
 
---- gcc/ada/adaint.c.orig      2024-05-07 09:51:37.000000000 +0300
+--- gcc/ada/adaint.c.orig      2025-06-05 19:02:58.000000000 +0300
 +++ gcc/ada/adaint.c
-@@ -846,7 +846,8 @@
+@@ -831,7 +831,8 @@
  }
  
  #if defined (_WIN32) || defined (__linux__) || defined (__sun__) \
@@ -16,7 +15,7 @@ not only for NetBSD, but for any other s
  #define HAS_TARGET_WCHAR_T
  #endif
  
-@@ -3703,6 +3704,69 @@
+@@ -3679,6 +3680,69 @@
    */
  }
  
@@ -63,7 +62,6 @@ not only for NetBSD, but for any other s
 +__gnat_clock_gettime (clockid_t clock_id, struct timespec *tp) {
 +   return clock_gettime (clock_id, tp);
 +}
-+#endif
 +int
 +__gnat_nanosleep (const struct timespec *rqtp, struct timespec *rmtp) {
 +   return nanosleep (rqtp, rmtp);
@@ -82,6 +80,7 @@ not only for NetBSD, but for any other s
 +__gnat_socket (int domain, int type, int protocol) {
 +   return socket (domain, type, protocol);
 +}
++#endif
 +
  #ifdef __cplusplus
  }
Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.h
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.h:1.1 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.h:1.2
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.h:1.1   Fri Apr 25 19:35:10 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_adaint.h       Sat Oct 18 05:31:22 2025
@@ -1,12 +1,11 @@
-$NetBSD: patch-gcc_ada_adaint.h,v 1.1 2025/04/25 19:35:10 dkazankov Exp $
+$NetBSD: patch-gcc_ada_adaint.h,v 1.2 2025/10/18 05:31:22 dkazankov Exp $
 
 Due to the lack of symbol versioning in NetBSD, some functions need
-to be exported from C to be used correctly. This patch addresses
-that issue and makes sure that other systems also work correclty.
+to be exported from C to be used correctly.
 
---- gcc/ada/adaint.h.orig      2024-05-21 10:47:37.000000000 +0300
+--- gcc/ada/adaint.h.orig      2025-06-05 19:02:58.000000000 +0300
 +++ gcc/ada/adaint.h
-@@ -348,6 +348,28 @@
+@@ -348,6 +348,26 @@
  
  extern const void * __gnat_get_executable_load_address  (void);
  
@@ -19,7 +18,6 @@ that issue and makes sure that other sys
 +extern int    __gnat_sigismember (sigset_t *, int);
 +extern int    __gnat_sigaltstack (const stack_t *, stack_t *);
 +extern int    __gnat_sigaction   (int, const struct sigaction *, struct sigaction *);
-+#endif
 +#include <time.h>
 +extern int    __gnat_nanosleep     (const struct timespec *, struct timespec *);
 +extern int    __gnat_gettimeofday  (struct timeval *, struct timezone *);
@@ -27,7 +25,6 @@ that issue and makes sure that other sys
 +extern int    __gnat_select        (int, fd_set *, fd_set *, fd_set *, struct timeval *);
 +#include <sys/socket.h>
 +extern int    __gnat_socket        (int, int, int);
-+#if defined(__NetBSD__)
 +extern int    __gnat_clock_getres  (clockid_t, struct timespec *);
 +extern int    __gnat_clock_gettime (clockid_t, struct timespec *);
 +#endif
Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi.ads
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi.ads:1.1 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi.ads:1.2
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi.ads:1.1       Fri Apr 25 19:35:10 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi.ads   Sat Oct 18 05:31:22 2025
@@ -1,6 +1,6 @@
-$NetBSD: patch-gcc_ada_libgnat_g-socthi.ads,v 1.1 2025/04/25 19:35:10 dkazankov Exp $
+$NetBSD: patch-gcc_ada_libgnat_g-socthi.ads,v 1.2 2025/10/18 05:31:22 dkazankov Exp $
 
-Fix symbol to make it use the C processed one.
+Fix RTS build warning
 
 --- gcc/ada/libgnat/g-socthi.ads.orig  2021-10-09 18:09:40.607907149 +0200
 +++ gcc/ada/libgnat/g-socthi.ads
@@ -12,13 +12,3 @@ Fix symbol to make it use the C processe
 -
     function Socket_Errno return Integer renames GNAT.OS_Lib.Errno;
     --  Returns last socket error number
- 
-@@ -256,7 +254,7 @@
-    pragma Import (C, C_Getsockname, "getsockname");
-    pragma Import (C, C_Getsockopt, "getsockopt");
-    pragma Import (C, C_Listen, "listen");
--   pragma Import (C, C_Select, "select");
-+   pragma Import (C, C_Select, "__gnat_select");
-    pragma Import (C, C_Setsockopt, "setsockopt");
-    pragma Import (C, C_Shutdown, "shutdown");
-    pragma Import (C, C_Socketpair, "socketpair");
Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi____bsd.adb
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi____bsd.adb:1.1 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi____bsd.adb:1.2
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi____bsd.adb:1.1        Fri Apr 25 19:35:10 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_ada_libgnat_g-socthi____bsd.adb    Sat Oct 18 05:31:22 2025
@@ -1,4 +1,4 @@
-$NetBSD: patch-gcc_ada_libgnat_g-socthi____bsd.adb,v 1.1 2025/04/25 19:35:10 dkazankov Exp $
+$NetBSD: patch-gcc_ada_libgnat_g-socthi____bsd.adb,v 1.2 2025/10/18 05:31:22 dkazankov Exp $
 
 Create a g-socthi package that is common to all *BSD systems.
 
@@ -135,7 +135,7 @@ Create a g-socthi package that is common
 +     (Domain   : C.int;
 +      Typ      : C.int;
 +      Protocol : C.int) return C.int;
-+   pragma Import (C, Syscall_Socket, "__gnat_socket");
++   pragma Import (C, Syscall_Socket, "socket");
 +   --  The socket() function is used to create an unbound socket and returns a
 +   --  file descriptor that can be used with other socket functions.  Upon
 +   --  failure, a -1 is returned and ERRNO is set.

Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config.gcc
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config.gcc:1.2 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config.gcc:1.3
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config.gcc:1.2     Wed Jun 11 13:27:05 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config.gcc Sat Oct 18 05:31:22 2025
@@ -1,9 +1,10 @@
-$NetBSD: patch-gcc_config.gcc,v 1.2 2025/06/11 13:27:05 dkazankov Exp $
+$NetBSD: patch-gcc_config.gcc,v 1.3 2025/10/18 05:31:22 dkazankov Exp $
 
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
+Support NetBSD/aarch64eb.
 
---- gcc/config.gcc.orig        2025-05-23 11:02:04.272197204 +0000
-+++ gcc/config.gcc
+--- gcc/config.gcc.orig        2025-05-23 04:02:04.272197204 -0700
++++ gcc/config.gcc     2025-10-12 14:28:13.767650187 -0700
 @@ -1177,13 +1177,22 @@ case ${target} in
    ;;
  esac
@@ -43,3 +44,15 @@ Support Darwin/aarch64, from https://git
  aarch64*-*-freebsd*)
        tm_file="${tm_file} elfos.h ${fbsd_tm_file}"
        tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-freebsd.h"
+@@ -1238,6 +1255,11 @@ aarch64*-*-netbsd*)
+       tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-netbsd.h"
+       tmake_file="${tmake_file} aarch64/t-aarch64 aarch64/t-aarch64-netbsd"
+       extra_options="${extra_options} netbsd.opt netbsd-elf.opt"
++      case $target in
++      aarch64_be-*)
++              tm_defines="${tm_defines} TARGET_BIG_ENDIAN_DEFAULT=1"
++              ;;
++      esac
+       ;;
+ aarch64*-*-linux*)
+       tm_file="${tm_file} elfos.h gnu-user.h linux.h glibc-stdint.h"
Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64-tune.md
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64-tune.md:1.2 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64-tune.md:1.3
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64-tune.md:1.2 Wed Jun 11 13:27:05 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64-tune.md     Sat Oct 18 05:31:22 2025
@@ -1,4 +1,4 @@
-$NetBSD: patch-gcc_config_aarch64_aarch64-tune.md,v 1.2 2025/06/11 13:27:05 dkazankov Exp $
+$NetBSD: patch-gcc_config_aarch64_aarch64-tune.md,v 1.3 2025/10/18 05:31:22 dkazankov Exp $
 
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
 
@@ -9,5 +9,5 @@ Support Darwin/aarch64, from https://git
  ;; Generated automatically by gentune.sh from aarch64-cores.def
  (define_attr "tune"
 -      
"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,cortexa510,cortexa520,cortexa710,cortexa715,cortexa720,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,demeter,generic,generic_armv8_a,generic_armv9_a"
-+      
"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,applea12,applem1,applem2,applem3,cortexa510,cortexa520,cortexa710,cortexa715,cortexa720,cortexx2,cortexx3,cortexx4,neoversen2,cobalt100,neoversev2,grace,demeter,generic,generic_armv8_a,generic_armv9_a"
++      
"cortexa34,cortexa35,cortexa53,cortexa57,cortexa72,cortexa73,thunderx,thunderxt88p1,thunderxt88,octeontx,octeontxt81,octeontxt83,thunderxt81,thunderxt83,ampere1,ampere1a,ampere1b,emag,xgene1,falkor,qdf24xx,exynosm1,phecda,thunderx2t99p1,vulcan,thunderx2t99,cortexa55,cortexa75,cortexa76,cortexa76ae,cortexa77,cortexa78,cortexa78ae,cortexa78c,cortexa65,cortexa65ae,cortexx1,cortexx1c,neoversen1,ares,neoversee1,octeontx2,octeontx2t98,octeontx2t96,octeontx2t93,octeontx2f95,octeontx2f95n,octeontx2f95mm,a64fx,fujitsu_monaka,tsv110,thunderx3t110,neoversev1,zeus,neoverse512tvb,saphira,cortexa57cortexa53,cortexa72cortexa53,cortexa73cortexa35,cortexa73cortexa53,cortexa75cortexa55,cortexa76cortexa55,cortexr82,applea12,applem1,applem2,applem3,cortexa510,cortexa520,cortexa710,cortexa715,cortexa720,cortexa725,cortexx2,cortexx3,cortexx4,cortexx925,neoversen2,cobalt100,neoversen3,neoversev2,grace,neoversev3,neoversev3ae,demeter,generic,generic_armv8_a,generic_armv9_a"
        (const (symbol_ref "((enum attr_tune) aarch64_tune)")))
Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64.cc
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64.cc:1.2 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64.cc:1.3
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64.cc:1.2      Wed Jun 11 13:27:05 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_config_aarch64_aarch64.cc  Sat Oct 18 05:31:22 2025
@@ -1,9 +1,11 @@
-$NetBSD: patch-gcc_config_aarch64_aarch64.cc,v 1.2 2025/06/11 13:27:05 dkazankov Exp $
+$NetBSD: patch-gcc_config_aarch64_aarch64.cc,v 1.3 2025/10/18 05:31:22 dkazankov Exp $
 
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
+Apply fixes from GCC PR PR118891: Fix ZIP1 order in aarch64_expand_vector_init
 
---- gcc/config/aarch64/aarch64.cc.orig 2025-05-23 11:02:04.284197394 +0000
-+++ gcc/config/aarch64/aarch64.cc
+
+--- gcc/config/aarch64/aarch64.cc.orig 2025-05-23 04:02:04.284197394 -0700
++++ gcc/config/aarch64/aarch64.cc      2025-10-12 14:39:18.549565530 -0700
 @@ -329,8 +329,10 @@ static bool aarch64_vfp_is_call_or_retur
                                                     const_tree,
                                                     machine_mode *, int *,
@@ -1084,7 +1086,21 @@ Support Darwin/aarch64, from https://git
      return true;
  
    if (SYMBOL_REF_P (x) && mode == DImode && CONSTANT_ADDRESS_P (x))
-@@ -24453,12 +25043,8 @@ aarch64_asm_output_variant_pcs (FILE *st
+@@ -24019,6 +24609,13 @@ aarch64_expand_vector_init (rtx target, 
+       emit_insn (rec_seq);
+     }
+ 
++  /* The two halves should (by induction) be individually endian-correct.
++     However, in the memory layout provided by VALS, the nth element of
++     HALVES[0] comes immediately before the nth element HALVES[1].
++     This means that, on big-endian targets, the nth element of HALVES[0]
++     is more significant than the nth element HALVES[1].  */
++  if (BYTES_BIG_ENDIAN)
++    std::swap (halves[0], halves[1]);
+   rtvec v = gen_rtvec (2, halves[0], halves[1]);
+   rtx_insn *zip1_insn
+     = emit_set_insn (target, gen_rtx_UNSPEC (mode, v, UNSPEC_ZIP1));
+@@ -24453,12 +25050,8 @@ aarch64_asm_output_variant_pcs (FILE *st
  static std::string aarch64_last_printed_arch_string;
  static std::string aarch64_last_printed_tune_string;
  
@@ -1099,7 +1115,7 @@ Support Darwin/aarch64, from https://git
  {
    tree target_parts = DECL_FUNCTION_SPECIFIC_TARGET (fndecl);
  
-@@ -24497,15 +25083,60 @@ aarch64_declare_function_name (FILE *str
+@@ -24497,15 +25090,60 @@ aarch64_declare_function_name (FILE *str
                   this_tune->name);
        aarch64_last_printed_tune_string = this_tune->name;
      }
@@ -1160,7 +1176,7 @@ Support Darwin/aarch64, from https://git
  
  /* Implement PRINT_PATCHABLE_FUNCTION_ENTRY.  */
  
-@@ -24562,12 +25193,17 @@ aarch64_output_patchable_area (unsigned 
+@@ -24562,12 +25200,17 @@ aarch64_output_patchable_area (unsigned 
  /* Implement ASM_OUTPUT_DEF_FROM_DECLS.  Output .variant_pcs for aliases.  */
  
  void
@@ -1179,7 +1195,7 @@ Support Darwin/aarch64, from https://git
  }
  
  /* Implement ASM_OUTPUT_EXTERNAL.  Output .variant_pcs for undefined
-@@ -24613,6 +25249,9 @@ aarch64_start_file (void)
+@@ -24613,6 +25256,9 @@ aarch64_start_file (void)
                aarch64_last_printed_arch_string.c_str ());
  
     default_file_start ();
@@ -1189,7 +1205,7 @@ Support Darwin/aarch64, from https://git
  }
  
  /* Emit load exclusive.  */
-@@ -25192,6 +25831,16 @@ aarch64_output_simd_mov_immediate (rtx c
+@@ -25192,6 +25838,16 @@ aarch64_output_simd_mov_immediate (rtx c
      }
  
    gcc_assert (CONST_INT_P (info.u.mov.value));
@@ -1206,7 +1222,7 @@ Support Darwin/aarch64, from https://git
  
    if (which == AARCH64_CHECK_MOV)
      {
-@@ -25200,16 +25849,16 @@ aarch64_output_simd_mov_immediate (rtx c
+@@ -25200,16 +25856,16 @@ aarch64_output_simd_mov_immediate (rtx c
                  ? "msl" : "lsl");
        if (lane_count == 1)
        snprintf (templ, sizeof (templ), "%s\t%%d0, " HOST_WIDE_INT_PRINT_HEX,
@@ -1226,7 +1242,7 @@ Support Darwin/aarch64, from https://git
      }
    else
      {
-@@ -25218,12 +25867,12 @@ aarch64_output_simd_mov_immediate (rtx c
+@@ -25218,12 +25874,12 @@ aarch64_output_simd_mov_immediate (rtx c
        if (info.u.mov.shift)
        snprintf (templ, sizeof (templ), "%s\t%%0.%d%c, #"
                  HOST_WIDE_INT_PRINT_DEC ", %s #%d", mnemonic, lane_count,
@@ -1241,7 +1257,7 @@ Support Darwin/aarch64, from https://git
      }
    return templ;
  }
-@@ -28459,7 +29108,8 @@ aarch64_libgcc_floating_mode_supported_p
+@@ -28459,7 +29115,8 @@ aarch64_libgcc_floating_mode_supported_p
  }
  
  /* Implement TARGET_SCALAR_MODE_SUPPORTED_P - return TRUE
@@ -1251,7 +1267,7 @@ Support Darwin/aarch64, from https://git
  
  static bool
  aarch64_scalar_mode_supported_p (scalar_mode mode)
-@@ -28467,7 +29117,7 @@ aarch64_scalar_mode_supported_p (scalar_
+@@ -28467,7 +29124,7 @@ aarch64_scalar_mode_supported_p (scalar_
    if (DECIMAL_FLOAT_MODE_P (mode))
      return default_decimal_float_supported_p ();
  
@@ -1260,7 +1276,7 @@ Support Darwin/aarch64, from https://git
          ? true
          : default_scalar_mode_supported_p (mode));
  }
-@@ -29284,19 +29934,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE
+@@ -29284,19 +29941,37 @@ aarch64_sls_emit_shared_blr_thunks (FILE
        continue;
  
        const char *name = indirect_symbol_names[regnum];
@@ -1301,7 +1317,7 @@ Support Darwin/aarch64, from https://git
      }
  }
  
-@@ -30384,6 +31052,60 @@ aarch64_retrieve_sysreg (const char *reg
+@@ -30384,6 +31059,60 @@ aarch64_retrieve_sysreg (const char *reg
    return sysreg->encoding;
  }
  
@@ -1362,7 +1378,7 @@ Support Darwin/aarch64, from https://git
  /* Target-specific selftests.  */
  
  #if CHECKING_P
-@@ -30600,6 +31322,15 @@ aarch64_run_selftests (void)
+@@ -30600,6 +31329,15 @@ aarch64_run_selftests (void)
  #undef TARGET_ASM_ALIGNED_SI_OP
  #define TARGET_ASM_ALIGNED_SI_OP "\t.word\t"
  
@@ -1378,7 +1394,7 @@ Support Darwin/aarch64, from https://git
  #undef TARGET_ASM_CAN_OUTPUT_MI_THUNK
  #define TARGET_ASM_CAN_OUTPUT_MI_THUNK \
    hook_bool_const_tree_hwi_hwi_const_tree_true
-@@ -30702,6 +31433,12 @@ aarch64_run_selftests (void)
+@@ -30702,6 +31440,12 @@ aarch64_run_selftests (void)
  #undef TARGET_FUNCTION_ARG_BOUNDARY
  #define TARGET_FUNCTION_ARG_BOUNDARY aarch64_function_arg_boundary
  
@@ -1391,7 +1407,7 @@ Support Darwin/aarch64, from https://git
  #undef TARGET_FUNCTION_ARG_PADDING
  #define TARGET_FUNCTION_ARG_PADDING aarch64_function_arg_padding
  
-@@ -31042,7 +31779,7 @@ aarch64_libgcc_floating_mode_supported_p
+@@ -31042,7 +31786,7 @@ aarch64_libgcc_floating_mode_supported_p
  
  /* The architecture reserves bits 0 and 1 so use bit 2 for descriptors.  */
  #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS
Index: pkgsrc/lang/gcc14-gnat/patches/patch-gcc_targhooks.cc
diff -u pkgsrc/lang/gcc14-gnat/patches/patch-gcc_targhooks.cc:1.2 pkgsrc/lang/gcc14-gnat/patches/patch-gcc_targhooks.cc:1.3
--- pkgsrc/lang/gcc14-gnat/patches/patch-gcc_targhooks.cc:1.2   Wed Jun 11 13:27:05 2025
+++ pkgsrc/lang/gcc14-gnat/patches/patch-gcc_targhooks.cc       Sat Oct 18 05:31:22 2025
@@ -1,8 +1,12 @@
-$NetBSD: patch-gcc_targhooks.cc,v 1.2 2025/06/11 13:27:05 dkazankov Exp $
+$NetBSD: patch-gcc_targhooks.cc,v 1.3 2025/10/18 05:31:22 dkazankov Exp $
 
 Support Darwin/aarch64, from https://github.com/Homebrew/formula-patches.
 
---- gcc/targhooks.cc.orig      2025-05-23 11:02:05.072209824 +0000
+Patch from NetBSD src. Fix -fPIC/-fPIE and -fstack-protector-strong/
+-fstack-protector-all causes undefined reference to `__stack_chk_fail_local'
+under NetBSD/i386 9 at least.
+
+--- gcc/targhooks.cc.orig      2025-07-05 02:14:56.999722429 +0000
 +++ gcc/targhooks.cc
 @@ -162,6 +162,15 @@ default_promote_function_mode_always_pro
  }
@@ -49,3 +53,21 @@ Support Darwin/aarch64, from https://git
  void
  hook_void_bitmap (bitmap regs ATTRIBUTE_UNUSED)
  {
+@@ -987,7 +1012,17 @@ default_hidden_stack_protect_fail (void)
+       DECL_ARTIFICIAL (t) = 1;
+       DECL_IGNORED_P (t) = 1;
+       DECL_VISIBILITY_SPECIFIED (t) = 1;
++#if defined(__NetBSD__)
++      /*
++       * This is a hack:
++       * It appears that our gas does not generate @PLT for hidden
++       * symbols. It could be that we need a newer version, or that
++       * this local function is handled differently on linux.
++       */
++      DECL_VISIBILITY (t) = VISIBILITY_DEFAULT;
++#else
+       DECL_VISIBILITY (t) = VISIBILITY_HIDDEN;
++#endif
+ 
+       stack_chk_fail_decl = t;
+     }



Home | Main Index | Thread Index | Old Index