[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [PATCH 36/40] arm64: add the link file
Hi Shijie, On 03/11/17 03:12, Huang Shijie wrote: 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)); How did you decide that value? + _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); What's that value? + 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) } +} Cheers, -- Julien Grall _______________________________________________ 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 |