head 1.1; access; symbols; locks; strict; comment @# @; 1.1 date 2026.07.19.11.17.43; author adam; state Exp; branches; next ; commitid FhXjPkGd9j9WSfOG; desc @@ 1.1 log @gcc15: updated to 15.3 15.3 This release is a bug-fix release, containing fixes for regressions in GCC 15.2 relative to previous releases of GCC. PkgSrc: Allow building on Darwin/aarch64. @ text @$NetBSD$ Support Darwin/aarch64. https://github.com/Homebrew/homebrew-core/blob/main/Patches/gcc/gcc-15.3.0.diff --- gcc/configure.ac.orig 2026-06-12 06:09:06.318521299 +0000 +++ gcc/configure.ac @@@@ -235,18 +235,17 @@@@ gcc_gxx_libcxx_include_dir= AC_ARG_WITH(gxx-libcxx-include-dir, [AS_HELP_STRING([--with-gxx-libcxx-include-dir=DIR], [specifies directory to find libc++ header files])], -[case "${withval}" in -yes) AC_MSG_ERROR(bad value ${withval} given for libc++ include directory) ;; -*) gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir ;; -esac]) +[gcc_gxx_libcxx_include_dir=$with_gxx_libcxx_include_dir]) # --with-gxx-libcxx-include-dir controls the enabling of the -stdlib option. # if --with-gxx-libcxx-include-dir is 'no' we disable the stdlib option. +# if --with-gxx-libcxx-include-dir is 'yes' we enable the stdlib option and use +# the default path within the installation. # if --with-gxx-libcxx-include-dir is unset we enable the stdlib option -# based on the platform (to be available on platform versions where it is the +# based on the platform (to be available on platform versions where it is the # default for the system tools). We also use a default path within the compiler -# install tree. -# Otherwise, we use the path provided and enable the stdlib option. +# install tree. +# Otherwise, we use the path provided and enable the stdlib option. # If both --with-sysroot and --with-gxx-libcxx-include-dir are passed, we # check to see if the latter starts with the former and, upon success, compute # gcc_gxx_libcxx_include_dir as relative to the sysroot. @@@@ -254,16 +253,20 @@@@ gcc_gxx_libcxx_include_dir_add_sysroot=0 gcc_enable_stdlib_opt=0 if test x${gcc_gxx_libcxx_include_dir} != x; then if test x${gcc_gxx_libcxx_include_dir} = xno; then - # set defaults for the dir, but the option is disabled anyway. + # set defaults for the dir, but the option is disabled anyway. + gcc_gxx_libcxx_include_dir= + elif test x${gcc_gxx_libcxx_include_dir} = xyes; then + # set defaults for the dir, and enable. gcc_gxx_libcxx_include_dir= + gcc_enable_stdlib_opt=1 else gcc_enable_stdlib_opt=1 fi else case $target in *-darwin1[[1-9]]* | *-darwin2*) - # Default this on for Darwin versions which default to libcxx, - # and embed the path in the compiler install so that we get a + # Default this on for Darwin versions which default to libcxx, + # and embed the path in the compiler install so that we get a # self-contained toolchain. gcc_enable_stdlib_opt=1 ;; @@@@ -2853,7 +2856,15 @@@@ fi AC_MSG_RESULT($gold_non_default) ORIGINAL_LD_FOR_TARGET=$gcc_cv_ld +if test x"$ld64_flag" = x"yes"; then +ORIGINAL_LLD_FOR_TARGET=${gcc_cv_ld}64.lld +else +ORIGINAL_LLD_FOR_TARGET=$gcc_cv_lld +fi +ORIGINAL_CLASSIC_LD_FOR_TARGET=$gcc_cv_ld-classic AC_SUBST(ORIGINAL_LD_FOR_TARGET) +AC_SUBST(ORIGINAL_LLD_FOR_TARGET) +AC_SUBST(ORIGINAL_CLASSIC_LD_FOR_TARGET) case "$ORIGINAL_LD_FOR_TARGET" in ./collect-ld | ./collect-ld$build_exeext) ;; *) AC_CONFIG_FILES(collect-ld:exec-tool.in, [chmod +x collect-ld]) ;; @@@@ -3427,6 +3438,12 @@@@ gcc_GAS_CHECK_FEATURE([cfi directives], esac fi ;; + x86_64-*-darwin* | i?86-*-darwin* | powerpc*-darwin-*) + # Darwin has assemblers that support .cfi_ instructions, but that then + # triggers emission of compact unwind which has incompatibilities with + # current GCC output. + gcc_cv_as_cfi_directive=no + ;; *-*-*) gcc_cv_as_cfi_directive=yes ;; @