mirror of
https://github.com/EnderIce2/Fennix.git
synced 2025-07-01 18:39:16 +00:00
kernel: add aarch64 architecture support
Signed-off-by: EnderIce2 <enderice2@protonmail.com>
This commit is contained in:
@ -287,6 +287,74 @@ index 6a9833e5..bf4c134d 100644
|
||||
eelf_x86_64_haiku.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
ehppa64linux.c \
|
||||
diff --git a/ld/Makefile.in b/ld/Makefile.in
|
||||
index 8639e782..24738803 100644
|
||||
--- a/ld/Makefile.in
|
||||
+++ b/ld/Makefile.in
|
||||
@@ -676,6 +676,7 @@ ALL_EMULATION_SOURCES = \
|
||||
earcv2elfx.c \
|
||||
earm_wince_pe.c \
|
||||
earmelf.c \
|
||||
+ earmelf_fennix.c \
|
||||
earmelf_fbsd.c \
|
||||
earmelf_fuchsia.c \
|
||||
earmelf_haiku.c \
|
||||
@@ -790,6 +791,7 @@ ALL_EMULATION_SOURCES = \
|
||||
eelf_i386.c \
|
||||
eelf_i386_be.c \
|
||||
eelf_i386_fbsd.c \
|
||||
+ eelf_i386_fennix.c \
|
||||
eelf_i386_haiku.c \
|
||||
eelf_i386_ldso.c \
|
||||
eelf_i386_sol2.c \
|
||||
@@ -893,6 +895,7 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eaarch64elf32.c \
|
||||
eaarch64elf32b.c \
|
||||
eaarch64elfb.c \
|
||||
+ eaarch64fennix.c \
|
||||
eaarch64fbsd.c \
|
||||
eaarch64fbsdb.c \
|
||||
eaarch64haiku.c \
|
||||
@@ -973,6 +976,7 @@ ALL_64_EMULATION_SOURCES = \
|
||||
eelf_x86_64.c \
|
||||
eelf_x86_64_cloudabi.c \
|
||||
eelf_x86_64_fbsd.c \
|
||||
+ eelf_x86_64_fennix.c \
|
||||
eelf_x86_64_haiku.c \
|
||||
eelf_x86_64_sol2.c \
|
||||
ehppa64linux.c \
|
||||
@@ -1279,6 +1283,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64elfb.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64fbsd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64fbsdb.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64fennix.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eaarch64linux32.Po@am__quote@
|
||||
@@ -1301,6 +1306,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earm_wince_pe.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fennix.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_fuchsia.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/earmelf_linux.Po@am__quote@
|
||||
@@ -1480,6 +1486,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_be.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_fennix.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_ldso.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_i386_sol2.Po@am__quote@
|
||||
@@ -1490,6 +1497,7 @@ distclean-compile:
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_cloudabi.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fbsd.Po@am__quote@
|
||||
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_fennix.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_haiku.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eelf_x86_64_sol2.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/eh8300elf.Po@am__quote@
|
||||
diff --git a/ld/configure.tgt b/ld/configure.tgt
|
||||
index f937f78b..3aa8c738 100644
|
||||
--- a/ld/configure.tgt
|
||||
|
@ -104,10 +104,10 @@ index 95c91ee02..cbcaac06b 100644
|
||||
;;
|
||||
diff --git a/gcc/config/aarch64/aarch64-fennix.h b/gcc/config/aarch64/aarch64-fennix.h
|
||||
new file mode 100644
|
||||
index 000000000..dafd8f253
|
||||
index 000000000..cf9b0136e
|
||||
--- /dev/null
|
||||
+++ b/gcc/config/aarch64/aarch64-fennix.h
|
||||
@@ -0,0 +1,34 @@
|
||||
@@ -0,0 +1,23 @@
|
||||
+/* Definitions for AArch64 running Fennix
|
||||
+ Copyright (C) 2016-2024 Free Software Foundation, Inc.
|
||||
+
|
||||
@ -130,17 +130,6 @@ index 000000000..dafd8f253
|
||||
+#ifndef GCC_AARCH64_FENNIX_H
|
||||
+#define GCC_AARCH64_FENNIX_H
|
||||
+
|
||||
+// #define TARGET_ASM_FILE_END file_end_indicate_exec_stack
|
||||
+
|
||||
+// #undef TARGET_BINDS_LOCAL_P
|
||||
+// #define TARGET_BINDS_LOCAL_P default_binds_local_p_2
|
||||
+
|
||||
+// #undef MCOUNT_NAME
|
||||
+// #define MCOUNT_NAME ".mcount"
|
||||
+
|
||||
+// #undef ASM_GENERATE_INTERNAL_LABEL
|
||||
+// #define ASM_GENERATE_INTERNAL_LABEL(LABEL, PREFIX, NUM) sprintf(LABEL, "*.L%s%lu", PREFIX, (unsigned long)(NUM))
|
||||
+
|
||||
+#endif /* GCC_AARCH64_FENNIX_H */
|
||||
diff --git a/gcc/config/aarch64/t-aarch64-fennix b/gcc/config/aarch64/t-aarch64-fennix
|
||||
new file mode 100644
|
||||
@ -304,14 +293,15 @@ index 000000000..632634dac
|
||||
+MULTILIB_OPTIONS += mno-red-zone
|
||||
+MULTILIB_DIRNAMES += no-red-zone
|
||||
diff --git a/libgcc/config.host b/libgcc/config.host
|
||||
index e75a7af64..572fff51e 100644
|
||||
index e75a7af64..10d8017b0 100644
|
||||
--- a/libgcc/config.host
|
||||
+++ b/libgcc/config.host
|
||||
@@ -418,6 +418,14 @@ aarch64*-*-elf | aarch64*-*-rtems*)
|
||||
@@ -418,6 +418,15 @@ aarch64*-*-elf | aarch64*-*-rtems*)
|
||||
tmake_file="${tmake_file} t-dfprules"
|
||||
md_unwind_header=aarch64/aarch64-unwind.h
|
||||
;;
|
||||
+aarch64*-*-fennix*)
|
||||
+ extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
+ extra_parts="$extra_parts crtfastmath.o"
|
||||
+ tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
|
||||
+ tmake_file="${tmake_file} ${cpu_type}/t-lse t-slibgcc-libgcc"
|
||||
@ -322,7 +312,7 @@ index e75a7af64..572fff51e 100644
|
||||
aarch64*-*-freebsd*)
|
||||
extra_parts="$extra_parts crtfastmath.o"
|
||||
tmake_file="${tmake_file} ${cpu_type}/t-aarch64"
|
||||
@@ -512,6 +520,12 @@ arm-wrs-vxworks7*)
|
||||
@@ -512,6 +521,13 @@ arm-wrs-vxworks7*)
|
||||
unwind_header=config/arm/unwind-arm.h
|
||||
extra_parts="$extra_parts crti.o crtn.o"
|
||||
;;
|
||||
@ -331,11 +321,12 @@ index e75a7af64..572fff51e 100644
|
||||
+ tmake_file="${tmake_file} t-softfp-sfdf t-softfp-excl arm/t-softfp t-softfp"
|
||||
+ tm_file="${tm_file} arm/bpabi-lib.h"
|
||||
+ unwind_header=config/arm/unwind-arm.h
|
||||
+ extra_parts="$extra_parts crti.o crtn.o crtbegin.o crtend.o crtbeginS.o crtendS.o"
|
||||
+ ;;
|
||||
arm*-*-freebsd*) # ARM FreeBSD EABI
|
||||
tmake_file="${tmake_file} arm/t-arm t-fixedpoint-gnu-prefix arm/t-elf"
|
||||
tmake_file="${tmake_file} arm/t-bpabi arm/t-freebsd"
|
||||
@@ -760,6 +774,14 @@ x86_64-*-dragonfly*)
|
||||
@@ -760,6 +776,14 @@ x86_64-*-dragonfly*)
|
||||
tmake_file="${tmake_file} i386/t-dragonfly i386/t-crtstuff"
|
||||
md_unwind_header=i386/dragonfly-unwind.h
|
||||
;;
|
||||
|
Reference in New Issue
Block a user