gcc: update to version 12.2.0

Issue #4827
This commit is contained in:
Christian Prochaska 2023-05-05 17:31:28 +02:00 committed by Christian Helmuth
parent 8602837fd4
commit b12ebae6cd
26 changed files with 215 additions and 313 deletions

View File

@ -1 +1 @@
1c4e056fb1955d8e2ad3a696a169deedae8c8f64
4521e2d30fec0c6b5989b59a805c7f4d9ab41c14

View File

@ -1,9 +1,9 @@
LICENSE := GPLv3
VERSION := 10.3.0
VERSION := 12.2.0
DOWNLOADS := gcc.archive
URL(gcc) := ftp://ftp.fu-berlin.de/gnu/gcc/gcc-$(VERSION)/gcc-$(VERSION).tar.xz
SHA(gcc) := 64f404c1a650f27fc33da242e1f2df54952e3963a49e06e73f6940f3223ac344
SHA(gcc) := e549cf9cf3594a00e27b6589d4322d70e0720cdd213f39beb4181e06926230ff
SIG(gcc) := ${URL(gcc)}.sig
KEY(gcc) := GNU
DIR(gcc) := src/noux-pkg/gcc
@ -33,15 +33,21 @@ endif
$(call check_tool,autogen)
default: _patch
@#
@# Download prerequisites
@#
# for 'aclocal' command
$(call check_tool,automake)
download_prerequisites: _dirs
$(VERBOSE)cd ${DIR(gcc)}; contrib/download_prerequisites
# The 'isl' prerequisite needs a patch too
_patch: download_prerequisites
default: _patch
@#
@# Re-generate configure scripts
@#
$(VERBOSE)cd ${DIR(gcc)}; autogen Makefile.def
$(VERBOSE)cd ${DIR(gcc)}/isl; aclocal; $(AUTOCONF)
$(VERBOSE)cd ${DIR(gcc)}/libgcc; $(AUTOCONF)
$(VERBOSE)cd ${DIR(gcc)}/libstdc++-v3; $(AUTOCONF)
$(VERBOSE)cd ${DIR(gcc)}/gcc; $(AUTOCONF)

View File

@ -1,4 +1,4 @@
aarch64.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
@ -11,23 +11,23 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
4 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/gcc/config.host b/gcc/config.host
index a14d7086e..3f5a781e1 100644
index 17dfcb984..19b340dfd 100644
--- a/gcc/config.host
+++ b/gcc/config.host
@@ -99,7 +99,7 @@ case ${host} in
esac
@@ -100,7 +100,7 @@ esac
case ${host} in
- aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia*)
+ aarch64*-*-* | aarch64*-*-linux* | aarch64*-*-fuchsia*)
aarch64*-*-freebsd* | aarch64*-*-linux* | aarch64*-*-fuchsia* |\
- aarch64*-*-darwin*)
+ aarch64*-*-darwin* | aarch64*-*-*)
case ${target} in
aarch64*-*-*)
host_extra_gcc_objs="driver-aarch64.o"
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 1ce23c687..f9d1f5c89 100644
index 359b6e856..9d6984fa1 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -1257,4 +1257,16 @@ extern poly_uint16 aarch64_sve_vg;
@@ -1370,4 +1370,16 @@ extern poly_uint16 aarch64_sve_vg;
STACK_BOUNDARY / BITS_PER_UNIT) \
: (crtl->outgoing_args_size + STACK_POINTER_OFFSET))
@ -45,10 +45,10 @@ index 1ce23c687..f9d1f5c89 100644
+
#endif /* GCC_AARCH64_H */
diff --git a/gcc/config/aarch64/t-aarch64 b/gcc/config/aarch64/t-aarch64
index 11d20b7be..2568aa887 100644
index ba74abc0a..31f38d13d 100644
--- a/gcc/config/aarch64/t-aarch64
+++ b/gcc/config/aarch64/t-aarch64
@@ -136,7 +136,7 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
@@ -148,7 +148,7 @@ aarch64-speculation.o: $(srcdir)/config/aarch64/aarch64-speculation.cc \
$(TARGET_H) \
$(RTL_BASE_H) \
$(TREE_PASS_H)
@ -58,10 +58,10 @@ index 11d20b7be..2568aa887 100644
falkor-tag-collision-avoidance.o: \
diff --git a/libgcc/config.host b/libgcc/config.host
index 1907fb871..c2cfdb151 100644
index 574ef77bd..94e711cec 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -360,8 +360,9 @@ esac
@@ -377,8 +377,9 @@ esac
case ${host} in
aarch64*-*-elf | aarch64*-*-rtems*)

View File

@ -9,10 +9,10 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
2 files changed, 3 insertions(+), 6 deletions(-)
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 72503dcab..e5f23add3 100644
index 649bd8520..e8cd7decd 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -945,7 +945,7 @@ extern const int arm_arch_cde_coproc_bits[];
@@ -952,7 +952,7 @@ extern const int arm_arch_cde_coproc_bits[];
#define EH_RETURN_STACKADJ_RTX gen_rtx_REG (SImode, ARM_EH_STACKADJ_REGNUM)
#ifndef ARM_TARGET2_DWARF_FORMAT
@ -21,7 +21,7 @@ index 72503dcab..e5f23add3 100644
#endif
/* ttype entries (the only interesting data references used)
@@ -2343,10 +2343,7 @@ extern const char *arm_target_thumb_only (int argc, const char **argv);
@@ -2440,10 +2440,7 @@ extern const char *arm_target_mode (int argc, const char **argv);
/* -mcpu=native handling only makes sense with compiler running on
an ARM chip. */
#if defined(__arm__)
@ -34,7 +34,7 @@ index 72503dcab..e5f23add3 100644
" %{march=native:%<march=native %:local_cpu_detect(arch)}" \
" %{mcpu=native:%<mcpu=native %:local_cpu_detect(cpu)}" \
diff --git a/libgcc/config/arm/unwind-arm.h b/libgcc/config/arm/unwind-arm.h
index e77b769d7..52d4a6448 100644
index faef9c307..44470e114 100644
--- a/libgcc/config/arm/unwind-arm.h
+++ b/libgcc/config/arm/unwind-arm.h
@@ -74,7 +74,7 @@ static inline _Unwind_Ptr _Unwind_gnu_Find_got (_Unwind_Ptr ptr)

View File

@ -14,10 +14,10 @@ From: Sebastian Sumpf <sebastian.sumpf@genode-labs.com>
7 files changed, 62 insertions(+), 11 deletions(-)
diff --git a/gcc/config.gcc b/gcc/config.gcc
index 6a349965c..d0e8646c0 100644
index c5064dd37..d98f66763 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -1310,7 +1310,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
@@ -1364,7 +1364,7 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems* | arm*-*-fuchsia*)
case ${target} in
arm*-*-eabi*)
tm_file="$tm_file newlib-stdint.h"
@ -27,10 +27,10 @@ index 6a349965c..d0e8646c0 100644
;;
arm*-*-fuchsia*)
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index 30e1d6dc9..de4e7b7d9 100644
index f47954081..907281781 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -746,11 +746,11 @@ extern const int arm_arch_cde_coproc_bits[];
@@ -753,11 +753,11 @@ extern const int arm_arch_cde_coproc_bits[];
#define MAX_FIXED_MODE_SIZE 64
#ifndef SIZE_TYPE
@ -45,7 +45,7 @@ index 30e1d6dc9..de4e7b7d9 100644
/* AAPCS requires that structure alignment is affected by bitfields. */
diff --git a/gcc/config/arm/unknown-elf.h b/gcc/config/arm/unknown-elf.h
index 9ad294750..cb5575a75 100644
index bfb294bea..f83897fb0 100644
--- a/gcc/config/arm/unknown-elf.h
+++ b/gcc/config/arm/unknown-elf.h
@@ -93,4 +93,17 @@
@ -67,7 +67,7 @@ index 9ad294750..cb5575a75 100644
+ "%(shared:-shared) \
+ %{!static:--eh-frame-hdr}"
diff --git a/gcc/config/i386/x86-64.h b/gcc/config/i386/x86-64.h
index 88db428f5..2d2adc627 100644
index 065269908..f1c34d76e 100644
--- a/gcc/config/i386/x86-64.h
+++ b/gcc/config/i386/x86-64.h
@@ -37,10 +37,10 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@ -83,7 +83,7 @@ index 88db428f5..2d2adc627 100644
#undef WCHAR_TYPE
#define WCHAR_TYPE "int"
@@ -102,3 +102,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
@@ -89,3 +89,18 @@ see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
#undef TARGET_SECTION_TYPE_FLAGS
#define TARGET_SECTION_TYPE_FLAGS x86_64_elf_section_type_flags
@ -103,27 +103,29 @@ index 88db428f5..2d2adc627 100644
+ %{shared:-shared} \
+ %{!static:--eh-frame-hdr}"
diff --git a/gcc/config/riscv/elf.h b/gcc/config/riscv/elf.h
index 4e2d6464d..72399e5a8 100644
index f0e865d6e..30e976371 100644
--- a/gcc/config/riscv/elf.h
+++ b/gcc/config/riscv/elf.h
@@ -17,10 +17,12 @@ You should have received a copy of the GNU General Public License
@@ -17,12 +17,14 @@ You should have received a copy of the GNU General Public License
along with GCC; see the file COPYING3. If not see
<http://www.gnu.org/licenses/>. */
+#ifndef LINK_SPEC
#define LINK_SPEC "\
-melf" XLEN_SPEC "lriscv \
-melf" XLEN_SPEC DEFAULT_ENDIAN_SPEC "riscv \
%{mno-relax:--no-relax} \
%{mbig-endian:-EB} \
%{mlittle-endian:-EL} \
%{shared}"
+#endif
/* Link against Newlib libraries, because the ELF backend assumes Newlib.
Handle the circular dependence between libc and libgloss. */
diff --git a/gcc/config/riscv/riscv.h b/gcc/config/riscv/riscv.h
index 567c23380..1b75709b8 100644
index b3eb6abc2..ccd718a3d 100644
--- a/gcc/config/riscv/riscv.h
+++ b/gcc/config/riscv/riscv.h
@@ -851,10 +851,10 @@ while (0)
@@ -912,10 +912,10 @@ while (0)
#define ASM_COMMENT_START "#"
#undef SIZE_TYPE
@ -136,9 +138,9 @@ index 567c23380..1b75709b8 100644
/* The maximum number of bytes copied by one iteration of a cpymemsi loop. */
@@ -935,4 +935,17 @@ extern void riscv_remove_unneeded_save_restore_calls (void);
#define HARD_REGNO_RENAME_OK(FROM, TO) riscv_hard_regno_rename_ok (FROM, TO)
@@ -1006,4 +1006,17 @@ extern void riscv_remove_unneeded_save_restore_calls (void);
#define CTZ_DEFINED_VALUE_AT_ZERO(MODE, VALUE) \
((VALUE) = GET_MODE_UNIT_BITSIZE (MODE), 2)
+ /* genode.h */
+
@ -155,10 +157,10 @@ index 567c23380..1b75709b8 100644
+
#endif /* ! GCC_RISCV_H */
diff --git a/libgcc/config.host b/libgcc/config.host
index c529cc40f..1907fb871 100644
index 8c56fcae5..574ef77bd 100644
--- a/libgcc/config.host
+++ b/libgcc/config.host
@@ -328,7 +328,7 @@ case ${host} in
@@ -348,7 +348,7 @@ case ${host} in
tmake_file=t-vxworks
;;
*-*-elf)
@ -167,7 +169,7 @@ index c529cc40f..1907fb871 100644
;;
esac
@@ -498,8 +498,12 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
@@ -516,8 +516,12 @@ arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*)
tm_file="$tm_file arm/bpabi-lib.h"
case ${host} in
arm*-*-eabi* | arm*-*-rtems*)
@ -181,7 +183,7 @@ index c529cc40f..1907fb871 100644
;;
arm*-*-symbianelf*)
tmake_file="${tmake_file} arm/t-symbian t-slibgcc-nolc-override"
@@ -701,6 +705,10 @@ i[34567]86-*-elf*)
@@ -715,6 +719,10 @@ i[34567]86-*-elf*)
tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
;;
x86_64-*-elf* | x86_64-*-rtems*)
@ -192,7 +194,7 @@ index c529cc40f..1907fb871 100644
tmake_file="$tmake_file i386/t-crtstuff t-crtstuff-pic t-libgcc-pic"
case ${host} in
x86_64-*-rtems*)
@@ -1268,8 +1276,8 @@ riscv*-*-freebsd*)
@@ -1311,8 +1319,8 @@ riscv*-*-freebsd*)
extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o crtendS.o crtbeginT.o"
;;
riscv*-*-*)

View File

@ -9,7 +9,7 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 5417143b5..9dce2966c 100644
index e559cb8ac..863031b6a 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -433,9 +433,12 @@ LIB2ADD += enable-execute-stack.c
@ -29,10 +29,10 @@ index 5417143b5..9dce2966c 100644
# Library members defined in libgcc2.c.
lib2funcs = _muldi3 _negdi2 _lshrdi3 _ashldi3 _ashrdi3 _cmpdi2 _ucmpdi2 \
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 9217e7390..5bf179de9 100644
index cd7ee3fac..08427e107 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -385,6 +385,9 @@ else
@@ -389,6 +389,9 @@ else
AC_DEFINE(HAVE_TANL)
AC_DEFINE(HAVE_TANHL)
fi

View File

@ -8,10 +8,10 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 1d58d9c07..545a6367e 100644
index 2fe9ed3f2..31e4373a0 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -2054,7 +2054,7 @@ linux* | gnu* | darwin[[8912]]* | cygwin* | mingw*)
@@ -2243,7 +2243,7 @@ linux* | gnu* | darwin[[8912]]* | cygwin* | mingw*)
enable_frame_pointer=no
;;
*)

View File

@ -0,0 +1,29 @@
gcov.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
gcc/coverage.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gcc/coverage.cc b/gcc/coverage.cc
index 8ece5db68..5ce8f4e3d 100644
--- a/gcc/coverage.cc
+++ b/gcc/coverage.cc
@@ -1275,6 +1275,7 @@ coverage_init (const char *filename)
of filename in order to prevent file path clashing. */
if (profile_data_prefix)
{
+#if 0
filename = concat (getpwd (), separator, filename, NULL);
if (profile_prefix_path)
{
@@ -1290,6 +1291,7 @@ coverage_init (const char *filename)
}
filename = mangle_path (filename);
len = strlen (filename);
+#endif
}
else
profile_data_prefix = getpwd ();

View File

@ -8,7 +8,7 @@ Remove the dependency on libbacktrace, which needs a libc.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/go/config-lang.in b/gcc/go/config-lang.in
index 4e8aabbd0..92ff23753 100644
index 19fdbc393..a6c33f2a7 100644
--- a/gcc/go/config-lang.in
+++ b/gcc/go/config-lang.in
@@ -28,7 +28,7 @@ language="go"
@ -19,4 +19,4 @@ index 4e8aabbd0..92ff23753 100644
+target_libs="target-libgo target-libffi"
lang_dirs="gotools"
gtfiles="\$(srcdir)/go/go-lang.c \$(srcdir)/go/go-c.h"
gtfiles="\$(srcdir)/go/go-lang.cc \$(srcdir)/go/go-c.h"

View File

@ -14,10 +14,10 @@ compiler as much as possible.
1 file changed, 1 deletion(-)
diff --git a/libstdc++-v3/crossconfig.m4 b/libstdc++-v3/crossconfig.m4
index fe1828835..3c7bdb87d 100644
index ae5283b7a..0ba50b3d8 100644
--- a/libstdc++-v3/crossconfig.m4
+++ b/libstdc++-v3/crossconfig.m4
@@ -306,7 +306,6 @@ dnl # long_double_math_on_this_cpu in configure.ac, right after
@@ -314,7 +314,6 @@ dnl # long_double_math_on_this_cpu in configure.ac, right after
dnl # the expansion of the present macro.
;;
*)

View File

@ -0,0 +1,22 @@
isl.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
isl-0.24/configure.ac | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/isl-0.24/configure.ac b/isl-0.24/configure.ac
index 3f5c7b3df..bfd1664e3 100644
--- a/isl-0.24/configure.ac
+++ b/isl-0.24/configure.ac
@@ -20,7 +20,7 @@ fi
AC_PROG_CC
AC_PROG_CXX
-AX_PROG_CC_FOR_BUILD
+#AX_PROG_CC_FOR_BUILD
AX_CC_MAXOPT
AX_GCC_WARN_UNUSED_RESULT

View File

@ -0,0 +1,22 @@
libcody.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
libcody/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libcody/Makefile.in b/libcody/Makefile.in
index 7eaf8ace8..1ed028f71 100644
--- a/libcody/Makefile.in
+++ b/libcody/Makefile.in
@@ -20,7 +20,7 @@ INSTALL := $(srcdir)/build-aux/install-sh
# C++ compiler options
CXXFLAGS := @CXXFLAGS@
-CXXINC := $(filter -I%,@CXX@)
+CXXINC := $(filter -I%,@CPPFLAGS@)
CXXOPTS := $(CXXFLAGS) @PICFLAG@
ifneq (@EXCEPTIONS@,yes)

View File

@ -8,10 +8,10 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
1 file changed, 6 insertions(+)
diff --git a/libgcc/Makefile.in b/libgcc/Makefile.in
index 851e7657d..5417143b5 100644
index 09b3ec8bc..e559cb8ac 100644
--- a/libgcc/Makefile.in
+++ b/libgcc/Makefile.in
@@ -957,7 +957,11 @@ all: libunwind.a
@@ -958,7 +958,11 @@ all: libunwind.a
endif
ifeq ($(enable_shared),yes)
@ -23,7 +23,7 @@ index 851e7657d..5417143b5 100644
ifneq ($(LIBUNWIND),)
all: libunwind$(SHLIB_EXT)
libgcc_s$(SHLIB_EXT): libunwind$(SHLIB_EXT)
@@ -1163,9 +1167,11 @@ install-shared:
@@ -1164,9 +1168,11 @@ install-shared:
chmod 644 $(DESTDIR)$(inst_libdir)/libgcc_eh.a
$(RANLIB) $(DESTDIR)$(inst_libdir)/libgcc_eh.a

View File

@ -4,26 +4,28 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
libstdc++-v3/configure.ac | 6 ++++++
1 file changed, 6 insertions(+)
libstdc++-v3/configure.ac | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 18659a216..9217e7390 100644
index ff4e5f776..cd7ee3fac 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -90,9 +90,11 @@ AC_SYS_LARGEFILE
@@ -90,11 +90,13 @@ AC_SYS_LARGEFILE
GLIBCXX_CONFIGURE
# Libtool setup.
+if test "$is_hosted" = yes; then
if test "x${with_newlib}" != "xyes"; then
if test "x${with_newlib}" != "xyes" &&
test "x${with_avrlibc}" != "xyes" &&
test "x$with_headers" != "xno"; then
AC_LIBTOOL_DLOPEN
fi
+fi
AM_PROG_LIBTOOL
ACX_LT_HOST_FLAGS
AC_SUBST(enable_shared)
@@ -211,7 +213,9 @@ AC_CHECK_HEADERS(fenv.h complex.h)
@@ -209,7 +211,9 @@ AC_CHECK_HEADERS(fenv.h complex.h)
GLIBCXX_CHECK_C99_TR1
# For the EOF, SEEK_CUR, and SEEK_END integer constants.
@ -33,13 +35,3 @@ index 18659a216..9217e7390 100644
# For gettimeofday support.
GLIBCXX_CHECK_GETTIMEOFDAY
@@ -388,7 +392,9 @@ GCC_CHECK_UNWIND_GETIPINFO
GCC_LINUX_FUTEX([AC_DEFINE(HAVE_LINUX_FUTEX, 1, [Define if futex syscall is available.])])
+if test "$is_hosted" = yes; then
GCC_HEADER_STDINT(include/gstdint.h)
+fi
GLIBCXX_ENABLE_SYMVERS([yes])
AC_SUBST(libtool_VERSION)

View File

@ -10,7 +10,7 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
3 files changed, 25 insertions(+), 2 deletions(-)
diff --git a/include/libiberty.h b/include/libiberty.h
index 141cb886a..0a8b54db5 100644
index a65ced9c8..b9d7904f1 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -46,7 +46,11 @@ extern "C" {
@ -26,7 +26,7 @@ index 141cb886a..0a8b54db5 100644
/* If the OS supports it, ensure that the supplied stream is setup to
avoid any multi-threaded locking. Otherwise leave the FILE pointer
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index cbfb2f937..a58820ae5 100644
index 6dff7d28f..a73684ff3 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -106,7 +106,9 @@
@ -39,7 +39,7 @@ index cbfb2f937..a58820ae5 100644
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
@@ -6390,7 +6392,7 @@ d_demangle (const char *mangled, int options, size_t *palc)
@@ -6546,7 +6548,7 @@ d_demangle (const char *mangled, int options, size_t *palc)
return dgs.buf;
}
@ -49,7 +49,7 @@ index cbfb2f937..a58820ae5 100644
extern char *__cxa_demangle (const char *, char *, size_t *, int *);
diff --git a/libstdc++-v3/libsupc++/Makefile.in b/libstdc++-v3/libsupc++/Makefile.in
index a0a500eab..8c37ec251 100644
index a4402009b..1e6ba69e7 100644
--- a/libstdc++-v3/libsupc++/Makefile.in
+++ b/libstdc++-v3/libsupc++/Makefile.in
@@ -168,7 +168,11 @@ am__objects_1 = array_type_info.lo atexit_arm.lo atexit_thread.lo \
@ -64,7 +64,7 @@ index a0a500eab..8c37ec251 100644
@ENABLE_VTABLE_VERIFY_TRUE@@VTV_CYGMIN_FALSE@am__objects_3 = \
@ENABLE_VTABLE_VERIFY_TRUE@@VTV_CYGMIN_FALSE@ vtv_stubs.lo
am_libsupc___la_OBJECTS = $(am__objects_1) $(am__objects_2) \
@@ -491,8 +495,14 @@ bits_HEADERS = \
@@ -504,8 +508,14 @@ bits_HEADERS = \
exception_defines.h exception_ptr.h hash_bytes.h nested_exception.h exception.h cxxabi_init_exception.h
headers = $(std_HEADERS) $(bits_HEADERS)
@ -80,7 +80,7 @@ index a0a500eab..8c37ec251 100644
sources = \
array_type_info.cc \
@@ -951,10 +961,17 @@ uninstall-am: uninstall-bitsHEADERS uninstall-stdHEADERS \
@@ -966,10 +976,17 @@ uninstall-am: uninstall-bitsHEADERS uninstall-stdHEADERS \
cp-demangle.c:
rm -f $@
$(LN_S) $(toplevel_srcdir)/libiberty/cp-demangle.c $@
@ -95,6 +95,6 @@ index a0a500eab..8c37ec251 100644
cp-demangle.o: cp-demangle.c
$(C_COMPILE) -DIN_GLIBCPP_V3 -Wno-error -c $<
+endif
atomicity.cc: ${atomicity_file}
$(LN_S) ${atomicity_file} ./atomicity.cc || true
# Use special rules for the C++17 sources so that the proper flags are passed.
new_opa.lo: new_opa.cc

View File

@ -9,7 +9,7 @@ Changes lacking documentation
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/libgcc/config/t-libunwind-elf b/libgcc/config/t-libunwind-elf
index e277ab93a..b9bb01781 100644
index 09856b9d4..5dd89c532 100644
--- a/libgcc/config/t-libunwind-elf
+++ b/libgcc/config/t-libunwind-elf
@@ -32,7 +32,7 @@ SHLIBUNWIND_SONAME = @shlib_base_name@.so.$(SHLIBUNWIND_SOVERSION)
@ -22,7 +22,7 @@ index e277ab93a..b9bb01781 100644
if [ -f $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME) ]; then \
mv -f $(SHLIB_DIR)/$(SHLIBUNWIND_SONAME) \
diff --git a/libgcc/config/t-slibgcc b/libgcc/config/t-slibgcc
index c99755344..d6abb8877 100644
index 4efd7b43d..7842d3e46 100644
--- a/libgcc/config/t-slibgcc
+++ b/libgcc/config/t-slibgcc
@@ -26,7 +26,7 @@ SHLIB_MAP = @shlib_map_file@

View File

@ -8,7 +8,7 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libstdc++-v3/libsupc++/new_opa.cc b/libstdc++-v3/libsupc++/new_opa.cc
index b935936e1..9efd29598 100644
index 411cd8d98..3267d9a51 100644
--- a/libstdc++-v3/libsupc++/new_opa.cc
+++ b/libstdc++-v3/libsupc++/new_opa.cc
@@ -25,7 +25,7 @@
@ -17,10 +17,10 @@ index b935936e1..9efd29598 100644
#include <stdlib.h>
-#include <stdint.h>
+#include <stdint-gcc.h> /* stdint.h would call 'include_next' */
#include <bits/exception_defines.h>
#include <bit>
#include "new"
@@ -40,6 +40,8 @@ extern "C" void *memalign(std::size_t boundary, std::size_t size);
@@ -39,6 +39,8 @@ extern "C" void *memalign(std::size_t boundary, std::size_t size);
# endif
#endif

View File

@ -8,10 +8,10 @@ Ensure -fno-short-enums as default.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/gcc/config/arm/arm.h b/gcc/config/arm/arm.h
index de4e7b7d9..72503dcab 100644
index 907281781..649bd8520 100644
--- a/gcc/config/arm/arm.h
+++ b/gcc/config/arm/arm.h
@@ -417,7 +417,7 @@ extern int arm_fpu_attr;
@@ -420,7 +420,7 @@ extern int arm_fpu_attr;
/* AAPCS based ABIs use short enums by default. */
#ifndef ARM_DEFAULT_SHORT_ENUMS
#define ARM_DEFAULT_SHORT_ENUMS \

View File

@ -9,14 +9,14 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
fixincludes/Makefile.in | 5 +++--
gcc/Makefile.in | 6 +++---
gcc/config.host | 2 +-
gcc/configure.ac | 4 ++--
6 files changed, 17 insertions(+), 8 deletions(-)
gcc/configure.ac | 2 +-
6 files changed, 16 insertions(+), 7 deletions(-)
diff --git a/Makefile.def b/Makefile.def
index 36fd26b03..04797e3af 100644
index 72d585496..5aa53856c 100644
--- a/Makefile.def
+++ b/Makefile.def
@@ -292,6 +292,7 @@ flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
@@ -314,6 +314,7 @@ flags_to_pass = { flag= GDCFLAGS_FOR_TARGET ; };
flags_to_pass = { flag= LD_FOR_TARGET ; };
flags_to_pass = { flag= LIPO_FOR_TARGET ; };
flags_to_pass = { flag= LDFLAGS_FOR_TARGET ; };
@ -25,11 +25,11 @@ index 36fd26b03..04797e3af 100644
flags_to_pass = { flag= LIBCXXFLAGS_FOR_TARGET ; };
flags_to_pass = { flag= NM_FOR_TARGET ; };
diff --git a/Makefile.tpl b/Makefile.tpl
index efed15117..6ba0228c5 100644
index ef58fac2b..66c012371 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -156,6 +156,8 @@ BUILD_EXPORTS = \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
@@ -161,6 +161,8 @@ BUILD_EXPORTS = \
CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
CXX="$(CXX_FOR_BUILD)"; export CXX; \
CXXFLAGS="$(CXXFLAGS_FOR_BUILD)"; export CXXFLAGS; \
+ CPPFLAGS="$(CPPFLAGS_FOR_BUILD)"; export CPPFLAGS; \
@ -37,7 +37,7 @@ index efed15117..6ba0228c5 100644
GFORTRAN="$(GFORTRAN_FOR_BUILD)"; export GFORTRAN; \
GOC="$(GOC_FOR_BUILD)"; export GOC; \
GOCFLAGS="$(GOCFLAGS_FOR_BUILD)"; export GOCFLAGS; \
@@ -173,6 +175,7 @@ BUILD_EXPORTS = \
@@ -179,6 +181,7 @@ BUILD_EXPORTS = \
# built for the build system to override those in BASE_FLAGS_TO_PASS.
EXTRA_BUILD_FLAGS = \
CFLAGS="$(CFLAGS_FOR_BUILD)" \
@ -45,7 +45,7 @@ index efed15117..6ba0228c5 100644
LDFLAGS="$(LDFLAGS_FOR_BUILD)"
# This is the list of directories to built for the host system.
@@ -195,6 +198,8 @@ HOST_EXPORTS = \
@@ -201,6 +204,8 @@ HOST_EXPORTS = \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CXX="$(CXX)"; export CXX; \
CXXFLAGS="$(CXXFLAGS)"; export CXXFLAGS; \
@ -54,7 +54,7 @@ index efed15117..6ba0228c5 100644
GFORTRAN="$(GFORTRAN)"; export GFORTRAN; \
GOC="$(GOC)"; export GOC; \
GDC="$(GDC)"; export GDC; \
@@ -292,6 +297,7 @@ BASE_TARGET_EXPORTS = \
@@ -305,6 +310,7 @@ BASE_TARGET_EXPORTS = \
CFLAGS="$(CFLAGS_FOR_TARGET)"; export CFLAGS; \
CONFIG_SHELL="$(SHELL)"; export CONFIG_SHELL; \
CPPFLAGS="$(CPPFLAGS_FOR_TARGET)"; export CPPFLAGS; \
@ -62,14 +62,14 @@ index efed15117..6ba0228c5 100644
CXXFLAGS="$(CXXFLAGS_FOR_TARGET)"; export CXXFLAGS; \
GFORTRAN="$(GFORTRAN_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GFORTRAN; \
GOC="$(GOC_FOR_TARGET) $(XGCC_FLAGS_FOR_TARGET) $$TFLAGS"; export GOC; \
@@ -701,6 +707,7 @@ EXTRA_TARGET_FLAGS = \
@@ -769,6 +775,7 @@ EXTRA_TARGET_FLAGS = \
-B$$r/$$(TARGET_SUBDIR)/libstdc++-v3/libsupc++/.libs \
$$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'CXXFLAGS=$$(CXXFLAGS_FOR_TARGET)' \
+ 'CPPFLAGS=$$(CPPFLAGS_FOR_TARGET)' \
'DLLTOOL=$$(DLLTOOL_FOR_TARGET)' \
'DSYMUTIL=$$(DSYMUTIL_FOR_TARGET)' \
'GFORTRAN=$$(GFORTRAN_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
'GOC=$$(GOC_FOR_TARGET) $$(XGCC_FLAGS_FOR_TARGET) $$(TFLAGS)' \
diff --git a/fixincludes/Makefile.in b/fixincludes/Makefile.in
index 1937dcaa3..60e2b2793 100644
--- a/fixincludes/Makefile.in
@ -97,19 +97,19 @@ index 1937dcaa3..60e2b2793 100644
$(AF): $(FIXOBJ) $(LIBIBERTY)
diff --git a/gcc/Makefile.in b/gcc/Makefile.in
index 5d05e8e0d..0919e579a 100644
index 31ff95500..33c2e4521 100644
--- a/gcc/Makefile.in
+++ b/gcc/Makefile.in
@@ -804,7 +804,7 @@ BUILD_LDFLAGS=@BUILD_LDFLAGS@
BUILD_NO_PIE_FLAG = @BUILD_NO_PIE_FLAG@
BUILD_LDFLAGS += $(BUILD_NO_PIE_FLAG)
@@ -816,7 +816,7 @@ BUILD_LINKERFLAGS = $(BUILD_CXXFLAGS)
# Native linker and preprocessor flags. For x-fragment overrides.
BUILD_LDFLAGS=@BUILD_LDFLAGS@
BUILD_CPPFLAGS= -I. -I$(@D) -I$(srcdir) -I$(srcdir)/$(@D) \
- -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(CPPFLAGS)
+ -I$(srcdir)/../include @INCINTL@ $(CPPINC) $(INCLUDES) $(CPPFLAGS_FOR_BUILD)
# Actual name to use when installing a native compiler.
GCC_INSTALL_NAME := $(shell echo gcc|sed '$(program_transform_name)')
@@ -1061,8 +1061,8 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
@@ -1082,8 +1082,8 @@ BUILD_LIBDEPS= $(BUILD_LIBIBERTY)
# How to link with both our special library facilities
# and the system's installed libraries.
@ -121,10 +121,10 @@ index 5d05e8e0d..0919e579a 100644
$(ZLIB) $(ZSTD_LIB)
# Any system libraries needed just for GNAT.
diff --git a/gcc/config.host b/gcc/config.host
index 84f0433e2..a14d7086e 100644
index 4ca300f11..17dfcb984 100644
--- a/gcc/config.host
+++ b/gcc/config.host
@@ -107,7 +107,7 @@ case ${host} in
@@ -108,7 +108,7 @@ case ${host} in
;;
esac
;;
@ -134,17 +134,15 @@ index 84f0433e2..a14d7086e 100644
arm*-*-*)
host_extra_gcc_objs="driver-arm.o"
diff --git a/gcc/configure.ac b/gcc/configure.ac
index 715fcba04..d57e6aea1 100644
index 23bee7010..2fe9ed3f2 100644
--- a/gcc/configure.ac
+++ b/gcc/configure.ac
@@ -1897,8 +1897,8 @@ else
@@ -2091,7 +2091,7 @@ else
# system.h from including gmp.h.
CC="${CC_FOR_BUILD}" CFLAGS="${CFLAGS_FOR_BUILD}" \
CXX="${CXX_FOR_BUILD}" CXXFLAGS="${CXXFLAGS_FOR_BUILD}" \
- LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" \
- GMPINC="" CPPFLAGS="${CPPFLAGS} -DGENERATOR_FILE" \
+ LD="${LD_FOR_BUILD}" LDFLAGS="${LDFLAGS_FOR_BUILD}" LIBS="${LIBS_FOR_BUILD}" \
+ GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
GMPINC="" CPPFLAGS="${CPPFLAGS_FOR_BUILD} -DGENERATOR_FILE" \
${realsrcdir}/configure \
--enable-languages=${enable_languages-all} \
${enable_obsolete+--enable-obsolete="$enable_obsolete"} \

View File

@ -13,10 +13,10 @@ nothing rather than '-prefer-pic'.
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 699e55fd8..18659a216 100644
index e59bcdb29..ff4e5f776 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -116,16 +116,16 @@ fi
@@ -118,16 +118,16 @@ fi
# Use glibcxx_compiler_pic_flag to designate a compile-time flags for
# creating position-independent objects. This varies with the target
# hardware and operating system, but is often: -DPIC -fPIC.

View File

@ -1,192 +0,0 @@
revert_gcov_name_mangling.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
gcc/coverage.c | 28 ++--------------------------
gcc/gcov-io.c | 49 -------------------------------------------------
gcc/gcov-io.h | 1 -
gcc/gcov.c | 49 +++++++++++++++++++++++++++++++++++++++++--------
4 files changed, 43 insertions(+), 84 deletions(-)
diff --git a/gcc/coverage.c b/gcc/coverage.c
index 7d82e44c1..8bb46e8f0 100644
--- a/gcc/coverage.c
+++ b/gcc/coverage.c
@@ -1215,32 +1215,8 @@ coverage_init (const char *filename)
g->get_passes ()->get_pass_profile ()->static_pass_number;
g->get_dumps ()->dump_start (profile_pass_num, NULL);
- if (!IS_ABSOLUTE_PATH (filename))
- {
- /* When a profile_data_prefix is provided, then mangle full path
- of filename in order to prevent file path clashing. */
- if (profile_data_prefix)
- {
- filename = concat (getpwd (), separator, filename, NULL);
- if (profile_prefix_path)
- {
- if (!strncmp (filename, profile_prefix_path,
- strlen (profile_prefix_path)))
- {
- filename += strlen (profile_prefix_path);
- while (*filename == *separator)
- filename++;
- }
- else
- warning (0, "filename %qs does not start with profile "
- "prefix %qs", filename, profile_prefix_path);
- }
- filename = mangle_path (filename);
- len = strlen (filename);
- }
- else
- profile_data_prefix = getpwd ();
- }
+ if (!profile_data_prefix && !IS_ABSOLUTE_PATH (filename))
+ profile_data_prefix = getpwd ();
if (profile_data_prefix)
prefix_len = strlen (profile_data_prefix);
diff --git a/gcc/gcov-io.c b/gcc/gcov-io.c
index ac60f9baf..4aefeac05 100644
--- a/gcc/gcov-io.c
+++ b/gcc/gcov-io.c
@@ -538,55 +538,6 @@ gcov_read_counter (void)
return value;
}
-/* Mangle filename path of BASE and output new allocated pointer with
- mangled path. */
-
-char *
-mangle_path (char const *base)
-{
- /* Convert '/' to '#', convert '..' to '^',
- convert ':' to '~' on DOS based file system. */
- const char *probe;
- char *buffer = (char *)xmalloc (strlen (base) + 1);
- char *ptr = buffer;
-
-#if HAVE_DOS_BASED_FILE_SYSTEM
- if (base[0] && base[1] == ':')
- {
- ptr[0] = base[0];
- ptr[1] = '~';
- ptr += 2;
- base += 2;
- }
-#endif
- for (; *base; base = probe)
- {
- size_t len;
-
- for (probe = base; *probe; probe++)
- if (*probe == '/')
- break;
- len = probe - base;
- if (len == 2 && base[0] == '.' && base[1] == '.')
- *ptr++ = '^';
- else
- {
- memcpy (ptr, base, len);
- ptr += len;
- }
- if (*probe)
- {
- *ptr++ = '#';
- probe++;
- }
- }
-
- /* Terminate the string. */
- *ptr = '\0';
-
- return buffer;
-}
-
/* We need to expose the below function when compiling for gcov-tool. */
#if !IN_LIBGCOV || defined (IN_GCOV_TOOL)
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index 4391d6d50..552c90dcd 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -340,7 +340,6 @@ GCOV_LINKAGE void gcov_read_summary (struct gcov_summary *) ATTRIBUTE_HIDDEN;
GCOV_LINKAGE const char *gcov_read_string (void);
GCOV_LINKAGE void gcov_sync (gcov_position_t /*base*/,
gcov_unsigned_t /*length */);
-char *mangle_path (char const *base);
#if !IN_GCOV
/* Available outside gcov */
diff --git a/gcc/gcov.c b/gcc/gcov.c
index a291bac3e..9bf31d5e3 100644
--- a/gcc/gcov.c
+++ b/gcc/gcov.c
@@ -2560,9 +2560,6 @@ make_gcov_file_name (const char *input_name, const char *src_name)
return result;
}
-/* Mangle BASE name, copy it at the beginning of PTR buffer and
- return address of the \0 character of the buffer. */
-
static char *
mangle_name (char const *base, char *ptr)
{
@@ -2570,13 +2567,49 @@ mangle_name (char const *base, char *ptr)
/* Generate the source filename part. */
if (!flag_preserve_paths)
- base = lbasename (base);
+ {
+ base = lbasename (base);
+ len = strlen (base);
+ memcpy (ptr, base, len);
+ ptr += len;
+ }
else
- base = mangle_path (base);
+ {
+ /* Convert '/' to '#', convert '..' to '^',
+ convert ':' to '~' on DOS based file system. */
+ const char *probe;
- len = strlen (base);
- memcpy (ptr, base, len);
- ptr += len;
+#if HAVE_DOS_BASED_FILE_SYSTEM
+ if (base[0] && base[1] == ':')
+ {
+ ptr[0] = base[0];
+ ptr[1] = '~';
+ ptr += 2;
+ base += 2;
+ }
+#endif
+ for (; *base; base = probe)
+ {
+ size_t len;
+
+ for (probe = base; *probe; probe++)
+ if (*probe == '/')
+ break;
+ len = probe - base;
+ if (len == 2 && base[0] == '.' && base[1] == '.')
+ *ptr++ = '^';
+ else
+ {
+ memcpy (ptr, base, len);
+ ptr += len;
+ }
+ if (*probe)
+ {
+ *ptr++ = '#';
+ probe++;
+ }
+ }
+ }
return ptr;
}

View File

@ -1,3 +1,4 @@
isl.patch
config.patch
misc.patch
no_short_enums.patch
@ -14,4 +15,5 @@ new_opa.patch
aarch64.patch
emutls.patch
frame_pointer.patch
revert_gcov_path_mangling.patch
gcov.patch
libcody.patch

View File

@ -8,10 +8,10 @@ Don't build libbacktrace, which needs a libc.
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index c78d9cbea..2a25449de 100644
index 85977482a..e1a0a797b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -145,7 +145,6 @@ host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb
@@ -146,7 +146,6 @@ host_tools="texinfo flex bison binutils gas ld fixincludes gcc cgen sid sim gdb
# the host libraries and the host tools (which may be a cross compiler)
# Note that libiberty is not a target library.
target_libraries="target-libgcc \

View File

@ -17,6 +17,7 @@ CONFIGURE_ARGS = --program-prefix=$(PROGRAM_PREFIX) \
--disable-tls \
--disable-threads \
--disable-hosted-libstdcxx \
--disable-c++-tools \
--enable-shared \
--enable-multiarch \
--disable-sjlj-exceptions \

View File

@ -194,7 +194,7 @@ check_tool = $(if $(shell command -v $(1)),,$(error Need to have '$(1)' installe
# Empty DST_DIRS is interpreted as a tool-chain agnostic target, e.g., clean.
#
ifneq ($(DST_DIRS),)
REQUIRED_GCC_VERSION ?= 10.3.0
REQUIRED_GCC_VERSION ?= 12.2.0
GCC_VERSION := $(filter $(REQUIRED_GCC_VERSION) ,$(shell $(CUSTOM_CXX) --version))
ifneq ($(GCC_VERSION), $(REQUIRED_GCC_VERSION))
$(error "$(CUSTOM_CXX) version $(REQUIRED_GCC_VERSION) is required")

View File

@ -57,7 +57,7 @@ GENODE_DIR ?= $(realpath $(dir $(firstword $(MAKEFILE_LIST)))/..)
#
TOOL_CHAIN_VERSION = 23.05
GCC_VERSION = 10.3.0
GCC_VERSION = 12.2.0
BINUTILS_VERSION = 2.32
#
@ -173,7 +173,7 @@ TARGET_NAME_arm = arm-none-eabi
TARGET_NAME_riscv = riscv64-unknown-elf
TARGET_NAME_aarch64 = aarch64-none-elf
GCC_CONFIG_riscv = --with-arch=rv64imac --with-abi=lp64
GCC_CONFIG_riscv = --with-arch=rv64imac_zicsr_zifencei --with-abi=lp64
INSTALL_riscv = cd $(INSTALL_LOCATION)/lib/gcc/riscv64-unknown-elf/$(GCC_VERSION)/rv64imac/lp64 && \
$(SUDO) ln -sf ../../include include
@ -244,8 +244,23 @@ BINUTILS_CONFIG += $(BINUTILS_CONFIG_$(PLATFORM))
#
# GDB configure arguments
#
GDB_CONFIG += $(COMMON_CONFIG) --disable-werror --disable-sim
# --with-static-standard-libraries is needed because the bootstrap libstdc++
# used for building might be incompatible with the host libstdc++ used at
# runtime
#
# --disable-source-highlight is needed because the feature is incompatible
# with --with-static-standard-libraries
#
GDB_CONFIG += $(COMMON_CONFIG) \
--disable-werror \
--disable-sim \
--with-static-standard-libraries \
--disable-source-highlight
#
# -fno-tree-vectorize is needed to prevent vectorization in libgcc,
# which caused startup problems with the Fiasco.OC bootstrap component.
#
GCC_CONFIG += $(COMMON_CONFIG) \
--enable-languages=$(LANGUAGES) \
--disable-libgo \
@ -263,8 +278,13 @@ GCC_CONFIG += $(COMMON_CONFIG) \
--enable-shared \
--enable-multiarch \
--disable-sjlj-exceptions \
CFLAGS_FOR_TARGET="-I$(GENODE_DIR)/tool -DUSE_PT_GNU_EH_FRAME -Dinhibit_libc -fPIC" \
CXXFLAGS_FOR_TARGET="-fPIC"
CFLAGS_FOR_TARGET="-I$(GENODE_DIR)/tool \
-DUSE_PT_GNU_EH_FRAME \
-Dinhibit_libc \
-fPIC \
-fno-tree-vectorize" \
CXXFLAGS_FOR_TARGET="-fPIC \
-fno-tree-vectorize"
GCC_CONFIG += $(GCC_CONFIG_$(PLATFORM))