mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-29 15:44:02 +00:00
parent
36f90e57f3
commit
fc922d263c
@ -1 +1 @@
|
||||
b6533ff19936e6aceac99a98b8a29779e5f8a393
|
||||
893d85767720fc2b3c695c56d737d2307b1f2229
|
||||
|
40
repos/ports/src/noux-pkg/gcc/patches/aarch64.patch
Normal file
40
repos/ports/src/noux-pkg/gcc/patches/aarch64.patch
Normal file
@ -0,0 +1,40 @@
|
||||
diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
|
||||
index b9bf979..86f64f9 100644
|
||||
--- a/gcc/config/aarch64/aarch64.h
|
||||
+++ b/gcc/config/aarch64/aarch64.h
|
||||
@@ -935,4 +935,20 @@ extern const char *host_detect_local_cpu (int argc, const char **argv);
|
||||
extern tree aarch64_fp16_type_node;
|
||||
extern tree aarch64_fp16_ptr_type_node;
|
||||
|
||||
+/* genode.h */
|
||||
+
|
||||
+/*
|
||||
+ * The 'LINK_SPEC' define comprises the rules of how the GCC frontend invokes
|
||||
+ * the linker.
|
||||
+ */
|
||||
+
|
||||
+#undef LINK_SPEC
|
||||
+#define LINK_SPEC \
|
||||
+ "%(shared:-shared) \
|
||||
+ %{!static:--eh-frame-hdr}"
|
||||
+
|
||||
+/* Don't assume anything about the header files. */
|
||||
+/* https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57699 */
|
||||
+#define NO_IMPLICIT_EXTERN_C
|
||||
+
|
||||
#endif /* GCC_AARCH64_H */
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index fd206a4..a9a07ad 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -331,8 +331,9 @@ esac
|
||||
|
||||
case ${host} in
|
||||
aarch64*-*-elf | aarch64*-*-rtems*)
|
||||
- extra_parts="$extra_parts crtbegin.o crtend.o crti.o crtn.o"
|
||||
+ extra_parts="$extra_parts crtbegin.o crtbeginS.o crtbeginT.o crtend.o crti.o crtn.o"
|
||||
extra_parts="$extra_parts crtfastmath.o"
|
||||
+ tmake_file="$tmake_file t-freebsd t-crtstuff-pic t-libgcc-pic t-eh-dw2-dip t-slibgcc t-slibgcc-gld t-slibgcc-elf-ver"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-softfp t-softfp t-crtfm"
|
||||
;;
|
@ -11,3 +11,4 @@ target_libbacktrace.patch
|
||||
noux_build.patch
|
||||
arm.patch
|
||||
new_opa.patch
|
||||
aarch64.patch
|
||||
|
@ -15,6 +15,7 @@ help:
|
||||
$(ECHO) "--- available commands ---"
|
||||
$(ECHO) "x86 - create tool chain for x86"
|
||||
$(ECHO) "arm - create tool chain for arm"
|
||||
$(ECHO) "aarch64 - create tool chain for aarch64/arm64"
|
||||
$(ECHO) "riscv - create tool chain for riscv"
|
||||
$(ECHO) "clean - clean everything except downloaded archives"
|
||||
$(ECHO) "cleanall - clean everything including downloaded archives"
|
||||
@ -30,7 +31,7 @@ help:
|
||||
# User interface
|
||||
#
|
||||
|
||||
SUPPORTED_PLATFORMS := x86 arm riscv
|
||||
SUPPORTED_PLATFORMS := x86 arm riscv aarch64
|
||||
|
||||
PLATFORM := $(firstword $(filter $(SUPPORTED_PLATFORMS),$(MAKECMDGOALS)))
|
||||
|
||||
@ -193,6 +194,7 @@ LOCAL_LIB_INSTALL_LOCATION = $(BUILD_LOCATION)/lib-install
|
||||
TARGET_NAME_x86 = x86_64-pc-elf
|
||||
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
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user