arm64_virt 0.1.0

simink 程序
OUTPUT_ARCH(aarch64)
ENTRY(_text)
SECTIONS
{
    /DISCARD/ : {
        *(.discard)
        *(.discard.*)
        *(.interp .dynamic)
        *(.dynsym, .dynstr .hash .gnu.hash)
        *(.eh_frame)
    }

    . = 0x40080000;

    .head.text : {
        _text = .;
        KEEP(*(.head.text))
    }
    .text : {
        _stext = .;
        . = ALIGN(8);
        *(.text.hot .text.* .text.fixup .text.unlikely)
        *(.fixup)
        *(.gnu.warning)
        . = ALIGN(16);
        *(.got)
    }
    .got.plt : { *(.got.plt) }
    . = ALIGN(0x10000);
    _etext = .;

    . = ALIGN(4096);
    .rodata : AT(ADDR(.rodata)) {
        __start_rodata = .;
        *(.rodata) *(.rodata.*)
    }
    .rodata1 : AT(ADDR(.rodata1)) {
        *(.rodata1)
        __end_rodata = .;
    }
    .notes : AT(ADDR(.notes)) {
        __start_notes = .;
        KEEP(*(.note.*))
        __stop_notes = .;
    }

    . = ALIGN(4096);
    .data : AT(ADDR(.data)) {
        _sdata = .;
        . = ALIGN(1 << 14);
        __start_stack = .;
        . = __start_stack + (1 << 14);
        __stack_top = .;
        . = ALIGN(4096);
        *(.data*)
        CONSTRUCTORS
        _edata = .;
    }

    __bss_start = .;
    .sbss : AT(ADDR(.sbss)) {
        *(.dynsbss) *(.sbss) *(.scommon)
    }
    .bss : AT(ADDR(.bss)) {
        *(.dynbss) *(.bss*) *(COMMON)
    }
    . = ALIGN(8);
    __bss_stop = .;
    _end = .;
}