mirror of
https://github.com/genodelabs/genode.git
synced 2025-02-06 19:20:09 +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
|
noux_build.patch
|
||||||
arm.patch
|
arm.patch
|
||||||
new_opa.patch
|
new_opa.patch
|
||||||
|
aarch64.patch
|
||||||
|
@ -15,6 +15,7 @@ help:
|
|||||||
$(ECHO) "--- available commands ---"
|
$(ECHO) "--- available commands ---"
|
||||||
$(ECHO) "x86 - create tool chain for x86"
|
$(ECHO) "x86 - create tool chain for x86"
|
||||||
$(ECHO) "arm - create tool chain for arm"
|
$(ECHO) "arm - create tool chain for arm"
|
||||||
|
$(ECHO) "aarch64 - create tool chain for aarch64/arm64"
|
||||||
$(ECHO) "riscv - create tool chain for riscv"
|
$(ECHO) "riscv - create tool chain for riscv"
|
||||||
$(ECHO) "clean - clean everything except downloaded archives"
|
$(ECHO) "clean - clean everything except downloaded archives"
|
||||||
$(ECHO) "cleanall - clean everything including downloaded archives"
|
$(ECHO) "cleanall - clean everything including downloaded archives"
|
||||||
@ -30,7 +31,7 @@ help:
|
|||||||
# User interface
|
# User interface
|
||||||
#
|
#
|
||||||
|
|
||||||
SUPPORTED_PLATFORMS := x86 arm riscv
|
SUPPORTED_PLATFORMS := x86 arm riscv aarch64
|
||||||
|
|
||||||
PLATFORM := $(firstword $(filter $(SUPPORTED_PLATFORMS),$(MAKECMDGOALS)))
|
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_x86 = x86_64-pc-elf
|
||||||
TARGET_NAME_arm = arm-none-eabi
|
TARGET_NAME_arm = arm-none-eabi
|
||||||
TARGET_NAME_riscv = riscv64-unknown-elf
|
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 --with-abi=lp64
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user