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 = .;
}