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