1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 15:47:44 +00:00

Toolchain/Ports: Update to gcc 10.1.0

This commit is contained in:
Shannon Booth 2020-05-16 16:52:49 +12:00 committed by Andreas Kling
parent 113a95e9e1
commit 2ffbdf5680
7 changed files with 115 additions and 116 deletions

View file

@ -160,11 +160,11 @@ add_library(boot OBJECT Arch/i386/Boot/boot.S)
file(GENERATE OUTPUT linker.ld INPUT linker.ld) file(GENERATE OUTPUT linker.ld INPUT linker.ld)
if (${CMAKE_HOST_SYSTEM_NAME} MATCHES SerenityOS) if (${CMAKE_HOST_SYSTEM_NAME} MATCHES SerenityOS)
include_directories(/usr/local/include/c++/9.3.0/) include_directories(/usr/local/include/c++/10.1.0/)
include_directories(/usr/local/include/c++/9.3.0/i686-pc-serenity/) include_directories(/usr/local/include/c++/10.1.0/i686-pc-serenity/)
else() else()
include_directories(../Toolchain/Local/i686-pc-serenity/include/c++/9.3.0/) include_directories(../Toolchain/Local/i686-pc-serenity/include/c++/10.1.0/)
include_directories(../Toolchain/Local/i686-pc-serenity/include/c++/9.3.0/i686-pc-serenity/) include_directories(../Toolchain/Local/i686-pc-serenity/include/c++/10.1.0/i686-pc-serenity/)
endif() endif()
add_executable(Kernel ${SOURCES}) add_executable(Kernel ${SOURCES})

View file

@ -25,7 +25,7 @@ set(INCLUDE_DIRS
"serenity/Libraries/LibC" "serenity/Libraries/LibC"
"serenity/Libraries/LibPthread" "serenity/Libraries/LibPthread"
"serenity/Services" "serenity/Services"
"serenity/Toolchain/Local/i686-pc-serenity/include/c++/9.3.0") "serenity/Toolchain/Local/i686-pc-serenity/include/c++/10.1.0")
add_library(serenity add_library(serenity
${AK_SOURCES} ${AK_SOURCES}

View file

@ -1,6 +1,6 @@
#!/bin/bash ../.port_include.sh #!/bin/bash ../.port_include.sh
port=gcc port=gcc
version=9.3.0 version=10.1.0
useconfigure=true useconfigure=true
configopts="--target=i686-pc-serenity --with-sysroot=/ --with-build-sysroot=$SERENITY_ROOT/Build/Root --with-newlib --enable-languages=c,c++ --disable-lto --disable-nls" configopts="--target=i686-pc-serenity --with-sysroot=/ --with-build-sysroot=$SERENITY_ROOT/Build/Root --with-newlib --enable-languages=c,c++ --disable-lto --disable-nls"
files="https://ftp.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz gcc-${version}.tar.xz files="https://ftp.gnu.org/gnu/gcc/gcc-${version}/gcc-${version}.tar.xz gcc-${version}.tar.xz

View file

@ -1,27 +1,27 @@
diff --git a/config.sub b/config.sub diff --git a/config.sub b/config.sub
index 75bb6a313..da281fb48 100755 index a318a4686..c5c551eb2 100755
--- a/config.sub --- a/config.sub
+++ b/config.sub +++ b/config.sub
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright 1992-2019 Free Software Foundation, Inc. # Copyright 1992-2019 Free Software Foundation, Inc.
-timestamp='2019-01-01' -timestamp='2019-06-30'
+timestamp='2020-01-02' +timestamp='2020-05-16'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@@ -1363,7 +1363,7 @@ case $os in @@ -1366,7 +1366,7 @@ case $os in
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
- | midnightbsd* | amdhsa* | unleashed* | emscripten*) | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | serenity*) - | nsk* | powerunix)
+ | nsk* | powerunix | serenity*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
qnx*) qnx*)
diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
index 0f9648608..1a6031479 100755 index df90720b7..a45cdd0de 100755
--- a/fixincludes/mkfixinc.sh --- a/fixincludes/mkfixinc.sh
+++ b/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh
@@ -11,6 +11,7 @@ target=fixinc.sh @@ -11,6 +11,7 @@ target=fixinc.sh
@ -32,39 +32,7 @@ index 0f9648608..1a6031479 100755
i?86-*-cygwin* | \ i?86-*-cygwin* | \
i?86-*-mingw32* | \ i?86-*-mingw32* | \
x86_64-*-mingw32* | \ x86_64-*-mingw32* | \
diff --git a/gcc/config.gcc b/gcc/config.gcc diff --git a/b/gcc/config/arm/serenity-elf.h b/gcc/config/arm/serenity-elf.h
index ddd3b8f4d..b3308d4fd 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -675,6 +675,11 @@ x86_cpus="generic intel"
# Common parts for widely ported systems.
case ${target} in
+*-*-serenity*)
+ gas=yes
+ gnu_ld=yes
+ default_use_cxa_atexit=yes
+ ;;
*-*-darwin*)
tmake_file="t-darwin "
tm_file="${tm_file} darwin.h"
@@ -978,6 +983,15 @@ case ${target} in
esac
case ${target} in
+i[34567]86-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h serenity.h"
+ ;;
+x86_64-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h serenity.h"
+ ;;
+arm-*-serenity*)
+ tm_file="dbxelf.h elfos.h arm/elf.h arm/aout.h glibc-stdint.h arm/serenity-elf.h ${tm_file} serenity.h"
+ ;;
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
diff --git a/gcc/config/arm/serenity-elf.h b/gcc/config/arm/serenity-elf.h
new file mode 100644 new file mode 100644
index 000000000..24b29c3da index 000000000..24b29c3da
--- /dev/null --- /dev/null
@ -135,33 +103,33 @@ index 000000000..24b29c3da
+ +
+#undef PTRDIFF_TYPE +#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "long int" +#define PTRDIFF_TYPE "long int"
diff --git a/gcc/config/serenity.h b/gcc/config/serenity.h diff --git a/b/gcc/config/serenity.h b/gcc/config/serenity.h
new file mode 100644 new file mode 100644
index 000000000..925c88dd6 index 000000000..2692b8e57
--- /dev/null --- /dev/null
+++ b/gcc/config/serenity.h +++ b/gcc/config/serenity.h
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
+/* Useful if you wish to make target-specific GCC changes. */ +/* Useful if you wish to make target-specific GCC changes. */
+#undef TARGET_SERENITY +#undef TARGET_SERENITY
+#define TARGET_SERENITY 1 +#define TARGET_SERENITY 1
+ +
+/* Default arguments you want when running your +/* Default arguments you want when running your
+ i686-serenity-gcc/x86_64-serenity-gcc toolchain */ + i686-serenity-gcc/x86_64-serenity-gcc toolchain */
+#undef LIB_SPEC +#undef LIB_SPEC
+#define LIB_SPEC "-lc" /* link against C standard library */ +#define LIB_SPEC "-lc" /* link against C standard library */
+ +
+/* Files that are linked before user code. +/* Files that are linked before user code.
+ The %s tells GCC to look for these files in the library directory. */ + The %s tells GCC to look for these files in the library directory. */
+#undef STARTFILE_SPEC +#undef STARTFILE_SPEC
+#define STARTFILE_SPEC "%{!shared:crt0.o%s} crti.o%s %{shared:crtbeginS.o%s; :crtbegin.o%s}" +#define STARTFILE_SPEC "%{!shared:crt0.o%s} crti.o%s %{shared:crtbeginS.o%s; :crtbegin.o%s}"
+ +
+/* Files that are linked after user code. */ +/* Files that are linked after user code. */
+#undef ENDFILE_SPEC +#undef ENDFILE_SPEC
+#define ENDFILE_SPEC "%{shared:crtendS.o%s; :crtend.o%s} crtn.o%s" +#define ENDFILE_SPEC "%{shared:crtendS.o%s; :crtend.o%s} crtn.o%s"
+ +
+#undef LINK_SPEC +#undef LINK_SPEC
+#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!shared: %{!static: %{rdynamic:-export-dynamic}}}" +#define LINK_SPEC "%{shared:-shared} %{static:-static} %{!shared: %{!static: %{rdynamic:-export-dynamic}}}"
+ +
+/* Additional predefined macros. */ +/* Additional predefined macros. */
+#undef TARGET_OS_CPP_BUILTINS +#undef TARGET_OS_CPP_BUILTINS
+#define TARGET_OS_CPP_BUILTINS() \ +#define TARGET_OS_CPP_BUILTINS() \
@ -172,11 +140,43 @@ index 000000000..925c88dd6
+ builtin_assert ("system=unix"); \ + builtin_assert ("system=unix"); \
+ builtin_assert ("system=posix"); \ + builtin_assert ("system=posix"); \
+ } while(0); + } while(0);
diff --git a/gcc/config.gcc b/gcc/config.gcc
index cf1a87e2e..d2f20aaf3 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -675,6 +675,11 @@ x86_cpus="generic intel"
# Common parts for widely ported systems.
case ${target} in
+*-*-serenity*)
+ gas=yes
+ gnu_ld=yes
+ default_use_cxa_atexit=yes
+ ;;
*-*-darwin*)
tmake_file="t-darwin "
tm_file="${tm_file} darwin.h"
@@ -1033,6 +1038,15 @@ case ${target} in
esac
case ${target} in
+i[34567]86-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h serenity.h"
+ ;;
+x86_64-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h serenity.h"
+ ;;
+arm-*-serenity*)
+ tm_file="dbxelf.h elfos.h arm/elf.h arm/aout.h glibc-stdint.h arm/serenity-elf.h ${tm_file} serenity.h"
+ ;;
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
diff --git a/libgcc/config.host b/libgcc/config.host diff --git a/libgcc/config.host b/libgcc/config.host
index 91abc84da..659376d14 100644 index 1ff415923..38aa1c972 100644
--- a/libgcc/config.host --- a/libgcc/config.host
+++ b/libgcc/config.host +++ b/libgcc/config.host
@@ -1414,6 +1414,22 @@ nvptx-*) @@ -1485,6 +1485,22 @@ nvptx-*)
tmake_file="$tmake_file nvptx/t-nvptx" tmake_file="$tmake_file nvptx/t-nvptx"
extra_parts="crt0.o" extra_parts="crt0.o"
;; ;;
@ -200,10 +200,10 @@ index 91abc84da..659376d14 100644
echo "*** Configuration ${host} not supported" 1>&2 echo "*** Configuration ${host} not supported" 1>&2
exit 1 exit 1
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 5acf79cba..bc594989c 100755 index 9f9c5a241..9055fe09e 100755
--- a/libstdc++-v3/configure --- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure +++ b/libstdc++-v3/configure
@@ -29301,6 +29301,5985 @@ else @@ -29846,6 +29846,5986 @@ else
# Base decisions on target environment. # Base decisions on target environment.
case "${host}" in case "${host}" in
@ -6185,19 +6185,19 @@ index 5acf79cba..bc594989c 100755
+ CXXFLAGS="$ac_save_CXXFLAGS" + CXXFLAGS="$ac_save_CXXFLAGS"
+ +
+ ;; + ;;
+
+ +
arm*-*-symbianelf*) arm*-*-symbianelf*)
# This is a freestanding configuration; there is nothing to do here. # This is a freestanding configuration; there is nothing to do here.
;; ;;
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index 344eec09d..c71585fb9 100644 index fe1828835..2775c3646 100644
--- a/libstdc++-v3/crossconfig.m4 --- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4
@@ -5,6 +5,14 @@ dnl @@ -5,6 +5,13 @@ dnl
AC_DEFUN([GLIBCXX_CROSSCONFIG],[ AC_DEFUN([GLIBCXX_CROSSCONFIG],[
# Base decisions on target environment. # Base decisions on target environment.
case "${host}" in case "${host}" in
+
+ *-serenity*) + *-serenity*)
+ GLIBCXX_CHECK_COMPILER_FEATURES + GLIBCXX_CHECK_COMPILER_FEATURES
+ GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_LINKER_FEATURES

View file

@ -58,8 +58,8 @@ BINUTILS_NAME="binutils-$BINUTILS_VERSION"
BINUTILS_PKG="${BINUTILS_NAME}.tar.gz" BINUTILS_PKG="${BINUTILS_NAME}.tar.gz"
BINUTILS_BASE_URL="http://ftp.gnu.org/gnu/binutils" BINUTILS_BASE_URL="http://ftp.gnu.org/gnu/binutils"
GCC_VERSION="9.3.0" GCC_VERSION="10.1.0"
GCC_MD5SUM="9b7e8f6cfad96114e726c752935af58a" GCC_MD5SUM="8a9fbd7e24d04c5d36e96bc894d3cd6b"
GCC_NAME="gcc-$GCC_VERSION" GCC_NAME="gcc-$GCC_VERSION"
GCC_PKG="${GCC_NAME}.tar.gz" GCC_PKG="${GCC_NAME}.tar.gz"
GCC_BASE_URL="http://ftp.gnu.org/gnu/gcc" GCC_BASE_URL="http://ftp.gnu.org/gnu/gcc"
@ -152,7 +152,6 @@ pushd "$DIR/Tarballs"
if [ ! -d $GCC_NAME ]; then if [ ! -d $GCC_NAME ]; then
echo "Extracting gcc..." echo "Extracting gcc..."
tar -xzf $GCC_PKG tar -xzf $GCC_PKG
pushd $GCC_NAME pushd $GCC_NAME
if [ "$git_patch" = "1" ]; then if [ "$git_patch" = "1" ]; then
git init > /dev/null git init > /dev/null
@ -160,7 +159,7 @@ pushd "$DIR/Tarballs"
git commit -am "BASE" > /dev/null git commit -am "BASE" > /dev/null
git apply "$DIR"/Patches/gcc.patch > /dev/null git apply "$DIR"/Patches/gcc.patch > /dev/null
else else
patch -p1 < "$DIR"/Patches/gcc.patch > /dev/null patch -p1 < "$DIR/Patches/gcc.patch" > /dev/null
fi fi
popd popd
else else

View file

@ -41,8 +41,8 @@ BINUTILS_NAME="binutils-$BINUTILS_VERSION"
BINUTILS_PKG="${BINUTILS_NAME}.tar.gz" BINUTILS_PKG="${BINUTILS_NAME}.tar.gz"
BINUTILS_BASE_URL="http://ftp.gnu.org/gnu/binutils" BINUTILS_BASE_URL="http://ftp.gnu.org/gnu/binutils"
GCC_VERSION="9.3.0" GCC_VERSION="10.1.0"
GCC_MD5SUM="9b7e8f6cfad96114e726c752935af58a" GCC_MD5SUM="8a9fbd7e24d04c5d36e96bc894d3cd6b"
GCC_NAME="gcc-$GCC_VERSION" GCC_NAME="gcc-$GCC_VERSION"
GCC_PKG="${GCC_NAME}.tar.gz" GCC_PKG="${GCC_NAME}.tar.gz"
GCC_BASE_URL="http://ftp.gnu.org/gnu/gcc" GCC_BASE_URL="http://ftp.gnu.org/gnu/gcc"

View file

@ -1,27 +1,27 @@
diff --git a/config.sub b/config.sub diff --git a/config.sub b/config.sub
index 75bb6a313..da281fb48 100755 index a318a4686..c5c551eb2 100755
--- a/config.sub --- a/config.sub
+++ b/config.sub +++ b/config.sub
@@ -2,7 +2,7 @@ @@ -2,7 +2,7 @@
# Configuration validation subroutine script. # Configuration validation subroutine script.
# Copyright 1992-2019 Free Software Foundation, Inc. # Copyright 1992-2019 Free Software Foundation, Inc.
-timestamp='2019-01-01' -timestamp='2019-06-30'
+timestamp='2020-01-01' +timestamp='2020-05-16'
# This file is free software; you can redistribute it and/or modify it # This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by # under the terms of the GNU General Public License as published by
@@ -1363,7 +1363,7 @@ case $os in @@ -1366,7 +1366,7 @@ case $os in
| powermax* | dnix* | nx6 | nx7 | sei* | dragonfly* \
| skyos* | haiku* | rdos* | toppers* | drops* | es* \ | skyos* | haiku* | rdos* | toppers* | drops* | es* \
| onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \ | onefs* | tirtos* | phoenix* | fuchsia* | redox* | bme* \
- | midnightbsd* | amdhsa* | unleashed* | emscripten*) | midnightbsd* | amdhsa* | unleashed* | emscripten* | wasi* \
+ | midnightbsd* | amdhsa* | unleashed* | emscripten* | serenity*) - | nsk* | powerunix)
+ | nsk* | powerunix | serenity*)
# Remember, each alternative MUST END IN *, to match a version number. # Remember, each alternative MUST END IN *, to match a version number.
;; ;;
qnx*) qnx*)
diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh diff --git a/fixincludes/mkfixinc.sh b/fixincludes/mkfixinc.sh
index 0f9648608..1a6031479 100755 index df90720b7..a45cdd0de 100755
--- a/fixincludes/mkfixinc.sh --- a/fixincludes/mkfixinc.sh
+++ b/fixincludes/mkfixinc.sh +++ b/fixincludes/mkfixinc.sh
@@ -11,6 +11,7 @@ target=fixinc.sh @@ -11,6 +11,7 @@ target=fixinc.sh
@ -32,39 +32,7 @@ index 0f9648608..1a6031479 100755
i?86-*-cygwin* | \ i?86-*-cygwin* | \
i?86-*-mingw32* | \ i?86-*-mingw32* | \
x86_64-*-mingw32* | \ x86_64-*-mingw32* | \
diff --git a/gcc/config.gcc b/gcc/config.gcc diff --git a/b/gcc/config/arm/serenity-elf.h b/gcc/config/arm/serenity-elf.h
index ddd3b8f4d..b3308d4fd 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -675,6 +675,11 @@ x86_cpus="generic intel"
# Common parts for widely ported systems.
case ${target} in
+*-*-serenity*)
+ gas=yes
+ gnu_ld=yes
+ default_use_cxa_atexit=yes
+ ;;
*-*-darwin*)
tmake_file="t-darwin "
tm_file="${tm_file} darwin.h"
@@ -978,6 +983,15 @@ case ${target} in
esac
case ${target} in
+i[34567]86-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h serenity.h"
+ ;;
+x86_64-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h serenity.h"
+ ;;
+arm-*-serenity*)
+ tm_file="dbxelf.h elfos.h arm/elf.h arm/aout.h glibc-stdint.h arm/serenity-elf.h ${tm_file} serenity.h"
+ ;;
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-elf-raw.h"
diff --git a/gcc/config/arm/serenity-elf.h b/gcc/config/arm/serenity-elf.h
new file mode 100644 new file mode 100644
index 000000000..24b29c3da index 000000000..24b29c3da
--- /dev/null --- /dev/null
@ -135,9 +103,9 @@ index 000000000..24b29c3da
+ +
+#undef PTRDIFF_TYPE +#undef PTRDIFF_TYPE
+#define PTRDIFF_TYPE "long int" +#define PTRDIFF_TYPE "long int"
diff --git a/gcc/config/serenity.h b/gcc/config/serenity.h diff --git a/b/gcc/config/serenity.h b/gcc/config/serenity.h
new file mode 100644 new file mode 100644
index 000000000..925c88dd6 index 000000000..2692b8e57
--- /dev/null --- /dev/null
+++ b/gcc/config/serenity.h +++ b/gcc/config/serenity.h
@@ -0,0 +1,31 @@ @@ -0,0 +1,31 @@
@ -172,11 +140,43 @@ index 000000000..925c88dd6
+ builtin_assert ("system=unix"); \ + builtin_assert ("system=unix"); \
+ builtin_assert ("system=posix"); \ + builtin_assert ("system=posix"); \
+ } while(0); + } while(0);
diff --git a/gcc/config.gcc b/gcc/config.gcc
index cf1a87e2e..d2f20aaf3 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -675,6 +675,11 @@ x86_cpus="generic intel"
# Common parts for widely ported systems.
case ${target} in
+*-*-serenity*)
+ gas=yes
+ gnu_ld=yes
+ default_use_cxa_atexit=yes
+ ;;
*-*-darwin*)
tmake_file="t-darwin "
tm_file="${tm_file} darwin.h"
@@ -1033,6 +1038,15 @@ case ${target} in
esac
case ${target} in
+i[34567]86-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h serenity.h"
+ ;;
+x86_64-*-serenity*)
+ tm_file="${tm_file} i386/unix.h i386/att.h dbxelf.h elfos.h glibc-stdint.h i386/i386elf.h i386/x86-64.h serenity.h"
+ ;;
+arm-*-serenity*)
+ tm_file="dbxelf.h elfos.h arm/elf.h arm/aout.h glibc-stdint.h arm/serenity-elf.h ${tm_file} serenity.h"
+ ;;
aarch64*-*-elf | aarch64*-*-fuchsia* | aarch64*-*-rtems*)
tm_file="${tm_file} dbxelf.h elfos.h newlib-stdint.h"
tm_file="${tm_file} aarch64/aarch64-elf.h aarch64/aarch64-errata.h aarch64/aarch64-elf-raw.h"
diff --git a/libgcc/config.host b/libgcc/config.host diff --git a/libgcc/config.host b/libgcc/config.host
index 91abc84da..659376d14 100644 index 1ff415923..38aa1c972 100644
--- a/libgcc/config.host --- a/libgcc/config.host
+++ b/libgcc/config.host +++ b/libgcc/config.host
@@ -1414,6 +1414,22 @@ nvptx-*) @@ -1485,6 +1485,22 @@ nvptx-*)
tmake_file="$tmake_file nvptx/t-nvptx" tmake_file="$tmake_file nvptx/t-nvptx"
extra_parts="crt0.o" extra_parts="crt0.o"
;; ;;
@ -200,10 +200,10 @@ index 91abc84da..659376d14 100644
echo "*** Configuration ${host} not supported" 1>&2 echo "*** Configuration ${host} not supported" 1>&2
exit 1 exit 1
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 5acf79cba..bc594989c 100755 index 9f9c5a241..9055fe09e 100755
--- a/libstdc++-v3/configure --- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure +++ b/libstdc++-v3/configure
@@ -29301,6 +29301,5985 @@ else @@ -29846,6 +29846,5986 @@ else
# Base decisions on target environment. # Base decisions on target environment.
case "${host}" in case "${host}" in
@ -6185,19 +6185,19 @@ index 5acf79cba..bc594989c 100755
+ CXXFLAGS="$ac_save_CXXFLAGS" + CXXFLAGS="$ac_save_CXXFLAGS"
+ +
+ ;; + ;;
+
+ +
arm*-*-symbianelf*) arm*-*-symbianelf*)
# This is a freestanding configuration; there is nothing to do here. # This is a freestanding configuration; there is nothing to do here.
;; ;;
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4 diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index 344eec09d..c71585fb9 100644 index fe1828835..2775c3646 100644
--- a/libstdc++-v3/crossconfig.m4 --- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4 +++ b/libstdc++-v3/crossconfig.m4
@@ -5,6 +5,14 @@ dnl @@ -5,6 +5,13 @@ dnl
AC_DEFUN([GLIBCXX_CROSSCONFIG],[ AC_DEFUN([GLIBCXX_CROSSCONFIG],[
# Base decisions on target environment. # Base decisions on target environment.
case "${host}" in case "${host}" in
+
+ *-serenity*) + *-serenity*)
+ GLIBCXX_CHECK_COMPILER_FEATURES + GLIBCXX_CHECK_COMPILER_FEATURES
+ GLIBCXX_CHECK_LINKER_FEATURES + GLIBCXX_CHECK_LINKER_FEATURES