mirror of
https://github.com/genodelabs/genode.git
synced 2024-12-18 21:27:56 +00:00
parent
8602837fd4
commit
b12ebae6cd
@ -1 +1 @@
|
||||
1c4e056fb1955d8e2ad3a696a169deedae8c8f64
|
||||
4521e2d30fec0c6b5989b59a805c7f4d9ab41c14
|
||||
|
@ -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)
|
||||
|
@ -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*)
|
||||
|
@ -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)
|
||||
|
@ -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*-*-*)
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
;;
|
||||
*)
|
||||
|
29
repos/ports/src/noux-pkg/gcc/patches/gcov.patch
Normal file
29
repos/ports/src/noux-pkg/gcc/patches/gcov.patch
Normal 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 ();
|
@ -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"
|
||||
|
@ -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.
|
||||
;;
|
||||
*)
|
||||
|
22
repos/ports/src/noux-pkg/gcc/patches/isl.patch
Normal file
22
repos/ports/src/noux-pkg/gcc/patches/isl.patch
Normal 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
|
22
repos/ports/src/noux-pkg/gcc/patches/libcody.patch
Normal file
22
repos/ports/src/noux-pkg/gcc/patches/libcody.patch
Normal 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)
|
@ -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
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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
|
||||
|
@ -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@
|
||||
|
@ -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
|
||||
|
||||
|
@ -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 \
|
||||
|
@ -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"} \
|
||||
|
@ -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.
|
||||
|
@ -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;
|
||||
}
|
@ -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
|
||||
|
@ -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 \
|
||||
|
@ -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 \
|
||||
|
@ -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")
|
||||
|
@ -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))
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user