From b028d9f449229c025da48b5578e245fdafaa1b5e Mon Sep 17 00:00:00 2001 From: starg2 Date: Fri, 4 Sep 2026 19:44:24 +0900 Subject: [PATCH] Add gcc 13.5.0 --- README.md | 3 +- build | 3 +- library/functions.sh | 2 +- scripts/gcc-13.5.0.sh | 162 ++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 167 insertions(+), 3 deletions(-) create mode 100644 scripts/gcc-13.5.0.sh diff --git a/README.md b/README.md index 053895bc5..9471f1964 100644 --- a/README.md +++ b/README.md @@ -142,6 +142,7 @@ At the moment, successfully building the following versions: gcc-13.2.0 gcc-13.3.0 gcc-13.4.0 + gcc-13.5.0 gcc-14.1.0 gcc-14.2.0 gcc-14.3.0 @@ -163,7 +164,7 @@ At the moment, successfully building the following versions: gcc-10-branch (currently 10.5.1-prerelease) gcc-11-branch (currently 11.5.1-prerelease) gcc-12-branch (currently 12.5.1-prerelease) - gcc-13-branch (currently 13.4.1-prerelease) + gcc-13-branch (currently 13.5.1-prerelease) gcc-14-branch (currently 14.4.1-prerelease) gcc-15-branch (currently 15.3.1-prerelease) gcc-16-branch (currently 16.2.1-prerelease) diff --git a/build b/build index 1d68cb24d..eeec21a7f 100755 --- a/build +++ b/build @@ -182,7 +182,8 @@ readonly RUN_ARGS="$@" echo " gcc-13.2.0 (13.2.0 release)" echo " gcc-13.3.0 (13.3.0 release)" echo " gcc-13.4.0 (13.4.0 release)" - echo " gcc-13-branch (currently 13.4.1-prerelease)" + echo " gcc-13.5.0 (13.5.0 release)" + echo " gcc-13-branch (currently 13.5.1-prerelease)" echo " gcc-14.1.0 (14.1.0 release)" echo " gcc-14.2.0 (14.2.0 release)" echo " gcc-14.3.0 (14.3.0 release)" diff --git a/library/functions.sh b/library/functions.sh index f6d8ad0c2..f05142e5c 100644 --- a/library/functions.sh +++ b/library/functions.sh @@ -996,7 +996,7 @@ function func_map_gcc_name_to_gcc_version { gcc-10-branch) echo "10.5.1" ;; gcc-11-branch) echo "11.5.1" ;; gcc-12-branch) echo "12.5.1" ;; - gcc-13-branch) echo "13.4.1" ;; + gcc-13-branch) echo "13.5.1" ;; gcc-14-branch) echo "14.4.1" ;; gcc-15-branch) echo "15.3.1" ;; gcc-16-branch) echo "16.2.1" ;; diff --git a/scripts/gcc-13.5.0.sh b/scripts/gcc-13.5.0.sh new file mode 100644 index 000000000..22545b108 --- /dev/null +++ b/scripts/gcc-13.5.0.sh @@ -0,0 +1,162 @@ + +# +# The BSD 3-Clause License. http://www.opensource.org/licenses/BSD-3-Clause +# +# This file is part of MinGW-W64(mingw-builds: https://github.com/niXman/mingw-builds) project. +# Copyright (c) 2011-2023 by niXman (i dotty nixman doggy gmail dotty com) +# Copyright (c) 2012-2015 by Alexpux (alexpux doggy gmail dotty com) +# All rights reserved. +# +# Project: MinGW-Builds ( https://github.com/niXman/mingw-builds ) +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are met: +# - Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# - Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in +# the documentation and/or other materials provided with the distribution. +# - Neither the name of the 'MinGW-W64' nor the names of its contributors may +# be used to endorse or promote products derived from this software +# without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY +# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES +# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE +# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +# + +# ************************************************************************** + +PKG_VERSION=13.5.0 +PKG_NAME=gcc-${PKG_VERSION} +PKG_DIR_NAME=gcc-${PKG_VERSION} +PKG_TYPE=.tar.xz +PKG_URLS=( + "${GNU_URL_PREFIX}/gcc/gcc-${PKG_VERSION}/gcc-${PKG_VERSION}${PKG_TYPE}" +) + +PKG_PRIORITY=main + +# + +PKG_PATCHES=( + gcc/gcc-5.1-iconv.patch + gcc/gcc-4.8-libstdc++export.patch + gcc/gcc-12-fix-for-windows-not-minding-non-existant-parent-dirs.patch + gcc/gcc-5.1.0-make-xmmintrin-header-cplusplus-compatible.patch + gcc/gcc-5-dwarf-regression.patch + gcc/gcc-13.2.0-ktietz-libgomp.patch + gcc/gcc-libgomp-ftime64.patch + gcc/0020-libgomp-Don-t-hard-code-MS-printf-attributes.patch + gcc/gcc-10-libgcc-ldflags.patch + gcc/gcc-12-replace-abort-with-fancy_abort.patch + gcc/gcc-13-mcf-sjlj-avoid-infinite-recursion.patch +) + +# + +PKG_CONFIGURE_FLAGS=( + --host=$HOST + --build=$BUILD + --target=$TARGET + # + --prefix=$MINGWPREFIX + --with-sysroot=$PREFIX + #--with-gxx-include-dir=$MINGWPREFIX/$TARGET/include/c++ + # + $LINK_TYPE_GCC + # + $( [[ $USE_MULTILIB == yes ]] \ + && echo "--enable-targets=all --enable-multilib" \ + || echo "--disable-multilib" \ + ) + $( [[ "$DISABLE_GCC_LTO" == yes ]] \ + && echo "--enable-languages=$ENABLE_LANGUAGES" \ + || echo "--enable-languages=$ENABLE_LANGUAGES,lto" + ) + --enable-libstdcxx-time=yes + --enable-threads=$THREADS_MODEL + $( [[ $THREADS_MODEL == win32 ]] \ + && echo "--enable-libstdcxx-threads=yes" \ + ) + --enable-libgomp + --enable-libatomic + $( [[ "$MSVCRT_PHOBOS_OK" == yes && "$D_LANG_ENABLED" == yes ]] \ + && echo "--enable-libphobos" + ) + $( [[ "$DISABLE_GCC_LTO" == yes ]] \ + && echo "--disable-lto" \ + || echo "--enable-lto" + ) + --enable-graphite + --enable-checking=release + --enable-mingw-wildcard + --enable-fully-dynamic-string + --enable-version-specific-runtime-libs + --enable-libstdcxx-filesystem-ts=yes + $( [[ $EXCEPTIONS_MODEL == dwarf ]] \ + && echo "--disable-sjlj-exceptions --with-dwarf2" \ + ) + $( [[ $EXCEPTIONS_MODEL == sjlj ]] \ + && echo "--enable-sjlj-exceptions" \ + ) + # + $( [[ $RUNTIME_MAJOR_VERSION -ge 11 ]] \ + && echo "--disable-libssp" \ + ) + --disable-libstdcxx-pch + --disable-libstdcxx-debug + $( [[ $BOOTSTRAPING == yes ]] \ + && echo "--enable-bootstrap" \ + || echo "--disable-bootstrap" \ + ) + --disable-rpath + --disable-win32-registry + --disable-nls + --disable-werror + --disable-symvers + # + --with-gnu-as + --with-gnu-ld + # + $PROCESSOR_OPTIMIZATION + $PROCESSOR_TUNE + # + --with-libiconv + --with-system-zlib + --with-{gmp,mpfr,mpc,isl}=$PREREQ_DIR/$HOST-$LINK_TYPE_SUFFIX + --with-pkgversion="\"$BUILD_ARCHITECTURE-$THREADS_MODEL-$EXCEPTIONS_MODEL${REV_STRING}, $MINGW_W64_PKG_STRING\"" + --with-bugurl=$BUG_URL + # + CFLAGS="$COMMON_CFLAGS" + CXXFLAGS="$COMMON_CXXFLAGS" + CPPFLAGS="$COMMON_CPPFLAGS" + LDFLAGS="$COMMON_LDFLAGS $( [[ $BUILD_ARCHITECTURE == i686 ]] && echo -Wl,--large-address-aware )" + LD_FOR_TARGET=$PREFIX/bin/ld.exe + --with-boot-ldflags="\"$LDFLAGS -Wl,--disable-dynamicbase -static-libstdc++ -static-libgcc\"" +) + +# + +PKG_MAKE_FLAGS=( + -j$JOBS + all +) + +# + +PKG_INSTALL_FLAGS=( + -j1 + DESTDIR=$BASE_BUILD_DIR + $( [[ $STRIP_ON_INSTALL == yes ]] && echo install-strip || echo install ) +) + +# **************************************************************************