|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Minios-devel] [PATCH 36/40] arm64: add the link file
This patch adds the link file for arm64.
This patch is based on Chen Baozi's patch:
"arm64: Add the support for arm64"
Change-Id: Ida3f7806af1c29e85e2c60073965043167acb510
Jira: ENTOS-247
Signed-off-by: Huang Shijie <shijie.huang@xxxxxxx>
---
Makefile | 3 ++
arch/arm/arm64/minios-arm64.lds.S | 76 +++++++++++++++++++++++++++++++++++++++
2 files changed, 79 insertions(+)
create mode 100644 arch/arm/arm64/minios-arm64.lds.S
diff --git a/Makefile b/Makefile
index 43075e1..ab86dce 100644
--- a/Makefile
+++ b/Makefile
@@ -164,6 +164,9 @@ endif
$(OBJ_DIR)/arch/x86/minios-x86%.lds: arch/x86/minios-x86.lds.S
$(CPP) $(ASFLAGS) -P $< -o $@
+$(OBJ_DIR)/arch/arm/arm64/minios-$(MINIOS_TARGET_ARCH).lds:
arch/arm/arm64/minios-$(MINIOS_TARGET_ARCH).lds.S
+ $(CPP) $(ASFLAGS) -I $(OBJ_DIR)/include/arm/arm64 -P $< -o $@
+
$(OBJ_DIR)/$(TARGET): $(OBJS) $(APP_O) arch_lib
$(OBJ_DIR)/$(TARGET_ARCH_DIR)/minios-$(MINIOS_TARGET_ARCH).lds
$(LD) -r $(LDFLAGS) $(HEAD_OBJ) $(APP_O) $(OBJS) $(LDARCHLIB) $(LDLIBS)
-o $@.o
$(OBJCOPY) -w -G $(GLOBAL_PREFIX)* -G _start $@.o $@.o
diff --git a/arch/arm/arm64/minios-arm64.lds.S
b/arch/arm/arm64/minios-arm64.lds.S
new file mode 100644
index 0000000..8d2e91f
--- /dev/null
+++ b/arch/arm/arm64/minios-arm64.lds.S
@@ -0,0 +1,76 @@
+#include <pagetable.h>
+
+OUTPUT_FORMAT("elf64-littleaarch64")
+OUTPUT_ARCH(aarch64)
+ENTRY(_start)
+SECTIONS
+{
+ . = (0xffffffffffffffff << (VA_BITS - 1));
+ _text = .; /* Text and read-only data */
+ .text : {
+ *(.text)
+ *(.gnu.warning)
+ }
+
+ _etext = .; /* End of text section */
+
+ .rodata : { *(.rodata) *(.rodata.*) }
+ . = ALIGN(PAGE_SIZE);
+ _erodata = .;
+
+ /* newlib initialization functions */
+ . = ALIGN(64 / 8);
+ PROVIDE (__preinit_array_start = .);
+ .preinit_array : { *(.preinit_array) }
+ PROVIDE (__preinit_array_end = .);
+ PROVIDE (__init_array_start = .);
+ .init_array : { *(.init_array) }
+ PROVIDE (__init_array_end = .);
+ PROVIDE (__fini_array_start = .);
+ .fini_array : { *(.fini_array) }
+ PROVIDE (__fini_array_end = .);
+
+ .ctors : {
+ __CTOR_LIST__ = .;
+ *(.ctors)
+ CONSTRUCTORS
+ QUAD(0)
+ __CTOR_END__ = .;
+ }
+
+ .dtors : {
+ __DTOR_LIST__ = .;
+ *(.dtors)
+ QUAD(0)
+ __DTOR_END__ = .;
+ }
+
+ .data : { /* Data */
+ *(.data)
+ }
+
+ _edata = .; /* End of data section */
+
+ __bss_start = .; /* BSS */
+ .bss : {
+ *(.bss)
+ *(.app.bss)
+ }
+ _end = . ;
+
+ /* Sections to be discarded */
+ /DISCARD/ : {
+ *(.text.exit)
+ *(.data.exit)
+ *(.exitcall.exit)
+ }
+
+ /* Stabs debugging sections. */
+ .stab 0 : { *(.stab) }
+ .stabstr 0 : { *(.stabstr) }
+ .stab.excl 0 : { *(.stab.excl) }
+ .stab.exclstr 0 : { *(.stab.exclstr) }
+ .stab.index 0 : { *(.stab.index) }
+ .stab.indexstr 0 : { *(.stab.indexstr) }
+ .comment 0 : { *(.comment) }
+}
--
2.7.4
_______________________________________________
Minios-devel mailing list
Minios-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/cgi-bin/mailman/listinfo/minios-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |