mirror of
https://github.com/SerenityOS/serenity.git
synced 2026-11-07 04:29:30 -10:00
Toolchain+Ports: Bump GCC to version 15.1.0
This commit is contained in:
1 parent
0e6160c751
commit
42441ef363
12 files changed
+37
-31
No files matched your search
+1
-1
@@ -17,7 +17,7 @@ if(NOT CMAKE_SYSTEM_NAME STREQUAL "SerenityOS")
|
||||
endif()
|
||||
|
||||
# Check for toolchain mismatch, user might need to rebuild toolchain
|
||||
set(GCC_VERSION "14.2.0")
|
||||
set(GCC_VERSION "15.1.0")
|
||||
set(LLVM_VERSION "20.1.0")
|
||||
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
set(EXPECTED_COMPILER_VERSION "${GCC_VERSION}")
|
||||
|
||||
@@ -70,6 +70,11 @@ elseif (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||
|
||||
# FIXME: This warning seems useful but has too many false positives with GCC 13.
|
||||
add_compile_options(-Wno-dangling-reference)
|
||||
|
||||
# FIXME: This seems to produce way to many false positives with GCC 15
|
||||
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "15")
|
||||
add_compile_options(-Wno-array-bounds)
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if (UNIX AND NOT APPLE AND NOT ENABLE_FUZZERS)
|
||||
|
||||
@@ -93,7 +93,7 @@ This list is also available at [ports.serenityos.net](https://ports.serenityos.n
|
||||
| [`frotz`](frotz/) | Frotz | 2.54 | https://gitlab.com/DavidGriffith/frotz |
|
||||
| [`fuse-exfat`](fuse-exfat/) | fuse-exfat | 1.4.0 | https://gitlab.com/relan/exfat |
|
||||
| [`gawk`](gawk/) | GNU awk | 5.3.1 | https://www.gnu.org/software/gawk/ |
|
||||
| [`gcc`](gcc/) | GNU Compiler Collection | 14.2.0 | https://gcc.gnu.org/ |
|
||||
| [`gcc`](gcc/) | GNU Compiler Collection | 15.1.0 | https://gcc.gnu.org/ |
|
||||
| [`gdb`](gdb/) | GNU Project Debugger | 11.2 | https://sourceware.org/gdb |
|
||||
| [`gemrb`](gemrb/) | GemRB | 0.9.2 | https://gemrb.org/ |
|
||||
| [`genemu`](genemu/) | Genesis / MegaDrive Emulator | e39f690 | https://github.com/rasky/genemu |
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
#!/usr/bin/env -S bash ../.port_include.sh
|
||||
port=gcc
|
||||
version=14.2.0
|
||||
version=15.1.0
|
||||
useconfigure=true
|
||||
configopts=("--target=${SERENITY_ARCH}-pc-serenity" "--with-sysroot=/" "--with-build-sysroot=${SERENITY_INSTALL_ROOT}" "--enable-languages=c,c++" "--disable-lto" "--disable-nls" "--enable-shared" "--enable-default-pie" "--enable-host-shared" "--enable-threads=posix" "--enable-initfini-array" "--with-linker-hash-style=gnu")
|
||||
files=(
|
||||
"https://ftpmirror.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz#a7b39bc69cbf9e25826c5a60ab26477001f7c08d85cec04bc0e29cabed6f3cc9"
|
||||
"https://ftpmirror.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz#e2b09ec21660f01fecffb715e0120265216943f038d0e48a9868713e54f06cea"
|
||||
)
|
||||
makeopts=("all-gcc" "all-target-libgcc" "all-target-libstdc++-v3" "-j$(nproc)")
|
||||
installopts=("DESTDIR=${SERENITY_INSTALL_ROOT}" "install-gcc" "install-target-libgcc" "install-target-libstdc++-v3")
|
||||
|
||||
@@ -76,8 +76,8 @@ BINUTILS_BASE_URL="https://ftpmirror.gnu.org/gnu/binutils"
|
||||
|
||||
# Note: If you bump the gcc version, you also have to update the matching
|
||||
# GCC_VERSION variable in the project's root CMakeLists.txt
|
||||
GCC_VERSION="14.2.0"
|
||||
GCC_MD5SUM="2268420ba02dc01821960e274711bde0"
|
||||
GCC_VERSION="15.1.0"
|
||||
GCC_MD5SUM="e55d13c55428bca27b4d2ea02f883135"
|
||||
GCC_NAME="gcc-$GCC_VERSION"
|
||||
GCC_PKG="${GCC_NAME}.tar.xz"
|
||||
GCC_BASE_URL="https://ftpmirror.gnu.org/gnu/gcc"
|
||||
|
||||
@@ -31,10 +31,10 @@ Co-Authored-By: Shannon Booth <[email protected]>
|
||||
create mode 100644 gcc/config/serenity.opt.urls
|
||||
|
||||
diff --git a/gcc/config.gcc b/gcc/config.gcc
|
||||
index 95c91ee02be4403567d63ac566ab8d3b956a6d74..43e2d9b03a5ce4fc2baf6a2268fdbf77467526f5 100644
|
||||
index 40b50dc969ede4418b305ca01869ec157e054283..550573f66da4982f21334a16157220c6b3bca81f 100644
|
||||
--- a/gcc/config.gcc
|
||||
+++ b/gcc/config.gcc
|
||||
@@ -722,6 +722,18 @@ x86_cpus="generic intel"
|
||||
@@ -723,6 +723,18 @@ x86_cpus="generic intel"
|
||||
|
||||
# Common parts for widely ported systems.
|
||||
case ${target} in
|
||||
@@ -53,7 +53,7 @@ index 95c91ee02be4403567d63ac566ab8d3b956a6d74..43e2d9b03a5ce4fc2baf6a2268fdbf77
|
||||
*-*-darwin*)
|
||||
tmake_file="t-darwin "
|
||||
tm_file="${tm_file} darwin.h"
|
||||
@@ -1189,6 +1201,17 @@ case ${target} in
|
||||
@@ -1186,6 +1198,17 @@ case ${target} in
|
||||
esac
|
||||
|
||||
case ${target} in
|
||||
|
||||
@@ -13,7 +13,7 @@ Our headers don't have such problems, so this hack is of no use for us.
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
|
||||
index df90720b716f2386f343f5ba46a2d8d706188dd5..a45cdd0de6833a1e632292722387be453a079053 100755
|
||||
index 7112f4dcd64b8351343f7af343271d1717bd02e2..9dcd2318a8c8f514fbf594b26e556fee4d13e9ef 100755
|
||||
--- a/fixincludes/mkfixinc.sh
|
||||
+++ b/fixincludes/mkfixinc.sh
|
||||
@@ -11,6 +11,7 @@ target=fixinc.sh
|
||||
@@ -22,5 +22,5 @@ index df90720b716f2386f343f5ba46a2d8d706188dd5..a45cdd0de6833a1e632292722387be45
|
||||
case $machine in
|
||||
+ *-serenity* | \
|
||||
i?86-*-cygwin* | \
|
||||
i?86-*-mingw32* | \
|
||||
x86_64-*-mingw32* | \
|
||||
*-mingw32* | \
|
||||
powerpc-*-eabisim* | \
|
||||
@@ -15,15 +15,15 @@ Co-Authored-By: Philip Herron <[email protected]>
|
||||
Co-Authored-By: Shannon Booth <[email protected]>
|
||||
---
|
||||
gcc/configure | 3 +++
|
||||
libgcc/config.host | 17 +++++++++++++++++
|
||||
libgcc/config.host | 18 ++++++++++++++++++
|
||||
libgcc/unwind-dw2-fde-dip.c | 6 ++++++
|
||||
3 files changed, 26 insertions(+)
|
||||
3 files changed, 27 insertions(+)
|
||||
|
||||
diff --git a/gcc/configure b/gcc/configure
|
||||
index abc8bfdc24432e766eb05dcd8492b65acc47a65f..0160b4e986a5f58aa30ccc6e275a31fc9ff9c2ae 100755
|
||||
index 16965953f05160ea4572957144f305cc0cce4e18..63fbeab1be55e2a9bf6718f8a6d826bb7ecf7d27 100755
|
||||
--- a/gcc/configure
|
||||
+++ b/gcc/configure
|
||||
@@ -33652,6 +33652,9 @@ case "$target" in
|
||||
@@ -33648,6 +33648,9 @@ case "$target" in
|
||||
*-linux-musl*)
|
||||
gcc_cv_target_dl_iterate_phdr=yes
|
||||
;;
|
||||
@@ -34,10 +34,10 @@ index abc8bfdc24432e766eb05dcd8492b65acc47a65f..0160b4e986a5f58aa30ccc6e275a31fc
|
||||
|
||||
if test x$gcc_cv_target_dl_iterate_phdr = xyes; then
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index e75a7af647f6004ce004b4a9eb46949507727dff..3261e8e47184a3b5d6d21685e2d64f234b46bc4a 100644
|
||||
index 6a88ee5a2dd0b1386b2a5f2fbb579953f8ce9441..5fc80843a52ba80469df05fd5162964c8d7ae322 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -1356,6 +1356,11 @@ riscv*-*-freebsd*)
|
||||
@@ -1358,6 +1358,11 @@ riscv*-*-freebsd*)
|
||||
tmake_file="${tmake_file} riscv/t-crtstuff riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address} t-slibgcc-libgcc"
|
||||
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
|
||||
;;
|
||||
@@ -49,7 +49,7 @@ index e75a7af647f6004ce004b4a9eb46949507727dff..3261e8e47184a3b5d6d21685e2d64f23
|
||||
riscv*-*-*)
|
||||
tmake_file="${tmake_file} riscv/t-softfp${host_address} t-softfp riscv/t-elf riscv/t-elf${host_address}"
|
||||
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
|
||||
@@ -1569,6 +1574,18 @@ nvptx-*)
|
||||
@@ -1571,6 +1576,19 @@ nvptx-*)
|
||||
tmake_file="$tmake_file nvptx/t-nvptx"
|
||||
extra_parts="crt0.o"
|
||||
;;
|
||||
@@ -63,13 +63,14 @@ index e75a7af647f6004ce004b4a9eb46949507727dff..3261e8e47184a3b5d6d21685e2d64f23
|
||||
+ tmake_file="$tmake_file ${cpu_type}/t-aarch64"
|
||||
+ tmake_file="$tmake_file ${cpu_type}/t-lse t-slibgcc t-slibgcc-libgcc t-slibgcc-gld-nover"
|
||||
+ tmake_file="$tmake_file ${cpu_type}/t-softfp t-softfp t-crtfm"
|
||||
+ md_unwind_def_header=aarch64/aarch64-unwind-def.h
|
||||
+ md_unwind_header=aarch64/aarch64-unwind.h
|
||||
+ ;;
|
||||
*)
|
||||
echo "*** Configuration ${host} not supported" 1>&2
|
||||
exit 1
|
||||
diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
|
||||
index 57d0c8812b13a2bfa8ff9b5e031347ad9afd7032..729fd29d4a233950b2c836d91d02ea335875ac6b 100644
|
||||
index 5c19838e0a3c34ea3b0420c552c0100276e5aab4..01138feee2a1c2c69a931c785a6f6614b7239c0f 100644
|
||||
--- a/libgcc/unwind-dw2-fde-dip.c
|
||||
+++ b/libgcc/unwind-dw2-fde-dip.c
|
||||
@@ -57,6 +57,12 @@
|
||||
|
||||
@@ -17,7 +17,7 @@ Co-Authored-By: Shannon Booth <[email protected]>
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
|
||||
index e8e6c7ddecade26f21d335d4eb7dcc8a04866f7e..bbc99027ac12a2424866e051724a32c61b92eb03 100644
|
||||
index 68cb3b31eeed48283af798febf88347f313f2db9..9fd05974fd0fb98eae36a8c215f5692ff6954769 100644
|
||||
--- a/libgcc/config/t-slibgcc
|
||||
+++ b/libgcc/config/t-slibgcc
|
||||
@@ -26,7 +26,6 @@ SHLIB_MAP = @shlib_map_file@
|
||||
|
||||
@@ -11,10 +11,10 @@ has the effect of setting -fno-math-errno by default.
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/gcc/common/config/i386/i386-common.cc b/gcc/common/config/i386/i386-common.cc
|
||||
index d578918dfb7964cbb178f08a5876c75f7b92815b..56c094a91c9cf34c33eea88b622f05004a1b3f4c 100644
|
||||
index 4815fbc4d3593c60585fdcc4ec90aeda025f848a..8e42b5a3acf330a17eeacfdcf369ba8e5187293e 100644
|
||||
--- a/gcc/common/config/i386/i386-common.cc
|
||||
+++ b/gcc/common/config/i386/i386-common.cc
|
||||
@@ -2032,6 +2032,10 @@ ix86_option_init_struct (struct gcc_options *opts)
|
||||
@@ -2072,6 +2072,10 @@ ix86_option_init_struct (struct gcc_options *opts)
|
||||
avoid calling them when that's the only reason we would. */
|
||||
opts->x_flag_errno_math = 0;
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ Co-Authored-By: Shannon Booth <[email protected]>
|
||||
4 files changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
|
||||
index 51a08bcc8b1d07d8ab9144caf80ba0406ae12fca..f1c816d2b6d5b070383a3b7d0e40d26ddb54147f 100644
|
||||
index a0094c2dd95b43abc80d78cd87b85bc39ddf9eaf..d69a9eac17b868b9c726b3d6b0d80e53d3af68ea 100644
|
||||
--- a/libstdc++-v3/acinclude.m4
|
||||
+++ b/libstdc++-v3/acinclude.m4
|
||||
@@ -1792,7 +1792,7 @@ AC_DEFUN([GLIBCXX_ENABLE_LIBSTDCXX_TIME], [
|
||||
@@ -49,7 +49,7 @@ index 51a08bcc8b1d07d8ab9144caf80ba0406ae12fca..f1c816d2b6d5b070383a3b7d0e40d26d
|
||||
;;
|
||||
*)
|
||||
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
|
||||
index 21abaeb07788142ecbb8a252dfe0b714c7c308c9..d5de656cc3cd7b3a9c4b82c292263426195b157d 100755
|
||||
index 819a1d82876a156e27a831bdaa695d155c34e31f..0cd50a29ab76d8af432aefdcb07b43f15f70688a 100755
|
||||
--- a/libstdc++-v3/configure
|
||||
+++ b/libstdc++-v3/configure
|
||||
@@ -12003,6 +12003,11 @@ else
|
||||
@@ -64,7 +64,7 @@ index 21abaeb07788142ecbb8a252dfe0b714c7c308c9..d5de656cc3cd7b3a9c4b82c292263426
|
||||
darwin*)
|
||||
# if libdl is installed we need to link against it
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
|
||||
@@ -16679,7 +16684,7 @@ fi
|
||||
@@ -16680,7 +16685,7 @@ fi
|
||||
dragonfly* | freebsd*)
|
||||
enable_clocale_flag=dragonfly
|
||||
;;
|
||||
@@ -73,7 +73,7 @@ index 21abaeb07788142ecbb8a252dfe0b714c7c308c9..d5de656cc3cd7b3a9c4b82c292263426
|
||||
enable_clocale_flag=newlib
|
||||
;;
|
||||
*)
|
||||
@@ -21374,7 +21379,7 @@ fi
|
||||
@@ -21377,7 +21382,7 @@ fi
|
||||
ac_has_nanosleep=yes
|
||||
ac_has_sched_yield=yes
|
||||
;;
|
||||
@@ -82,7 +82,7 @@ index 21abaeb07788142ecbb8a252dfe0b714c7c308c9..d5de656cc3cd7b3a9c4b82c292263426
|
||||
ac_has_clock_monotonic=yes
|
||||
ac_has_clock_realtime=yes
|
||||
ac_has_nanosleep=yes
|
||||
@@ -28620,7 +28625,7 @@ case "${host}" in
|
||||
@@ -28654,7 +28659,7 @@ case "${host}" in
|
||||
# This is a freestanding configuration; there is nothing to do here.
|
||||
;;
|
||||
|
||||
@@ -92,10 +92,10 @@ index 21abaeb07788142ecbb8a252dfe0b714c7c308c9..d5de656cc3cd7b3a9c4b82c292263426
|
||||
|
||||
$as_echo "#define HAVE_ASINF 1" >>confdefs.h
|
||||
diff --git a/libstdc++-v3/configure.host b/libstdc++-v3/configure.host
|
||||
index 7bc430716168748b96053d0c4d7785268706dd1c..546c72a474c1d8dcf20c22ee09d7a0ba941b0e1c 100644
|
||||
index 253e5a9ad0dbe0698e3672cbee1c89eab8f2702d..45a22282657499d3a3c747f19110f63cbb044995 100644
|
||||
--- a/libstdc++-v3/configure.host
|
||||
+++ b/libstdc++-v3/configure.host
|
||||
@@ -297,6 +297,9 @@ case "${host_os}" in
|
||||
@@ -307,6 +307,9 @@ case "${host_os}" in
|
||||
# Use libatomic if necessary and avoid libstdc++ specific atomicity support
|
||||
atomicity_dir="cpu/generic/atomicity_builtins"
|
||||
;;
|
||||
|
||||
@@ -13,7 +13,7 @@ This hack is from https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58638
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
|
||||
index d5de656cc3cd7b3a9c4b82c292263426195b157d..e2939c4d152670ce59798ba5aed02a3abbfbe628 100755
|
||||
index 0cd50a29ab76d8af432aefdcb07b43f15f70688a..472b7ed7093aeb37233f2d98a37ddd9d24899b51 100755
|
||||
--- a/libstdc++-v3/configure
|
||||
+++ b/libstdc++-v3/configure
|
||||
@@ -15789,8 +15789,8 @@ if test "$enable_shared" = yes; then
|
||||
|
||||
Reference in new issue
Block a user