2018-04-20 11:06:09 +01:00
|
|
|
OUTPUT_FORMAT("elf64-littleaarch64")
|
|
|
|
OUTPUT_ARCH(aarch64)
|
|
|
|
ENTRY(_start)
|
|
|
|
|
|
|
|
SECTIONS
|
|
|
|
{
|
|
|
|
. = 0x800D0000;
|
|
|
|
|
|
|
|
. = ALIGN(4);
|
|
|
|
.text : {
|
|
|
|
PROVIDE(lds_thermo_start = .);
|
2018-05-18 23:54:38 +01:00
|
|
|
start.o (.text*)
|
2018-04-20 11:06:09 +01:00
|
|
|
*(.text*)
|
|
|
|
}
|
|
|
|
|
|
|
|
. = ALIGN(8);
|
|
|
|
.rodata : {
|
|
|
|
*(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
|
|
|
|
}
|
|
|
|
|
|
|
|
. = ALIGN(8);
|
|
|
|
.data : {
|
|
|
|
*(.data*)
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Uninitialised data */
|
|
|
|
. = ALIGN(8);
|
|
|
|
PROVIDE(lds_bss_start = .);
|
|
|
|
.bss (NOLOAD) : {
|
|
|
|
*(.bss*) . = ALIGN(8);
|
|
|
|
}
|
|
|
|
PROVIDE(lds_bss_end = .);
|
|
|
|
|
|
|
|
/* EL2 stack */
|
|
|
|
. = ALIGN(16);
|
|
|
|
. += 0x10000; /* 64 KiB stack */
|
|
|
|
el2_stack_end = .;
|
2018-05-18 23:54:38 +01:00
|
|
|
|
2018-04-20 11:06:09 +01:00
|
|
|
/* Page align the end of binary */
|
|
|
|
. = ALIGN(512);
|
|
|
|
PROVIDE(lds_el2_thermo_end = .);
|
2018-05-18 23:54:38 +01:00
|
|
|
|
2018-04-20 11:06:09 +01:00
|
|
|
/* EL1 stack */
|
|
|
|
. = ALIGN(16);
|
|
|
|
. += 0x10000; /* 64 KiB stack */
|
|
|
|
el1_stack_end = .;
|
2018-05-18 23:54:38 +01:00
|
|
|
|
2018-04-20 11:06:09 +01:00
|
|
|
lds_thermo_end = .;
|
|
|
|
|
|
|
|
/DISCARD/ : { *(.dynstr*) }
|
|
|
|
/DISCARD/ : { *(.dynamic*) }
|
|
|
|
/DISCARD/ : { *(.plt*) }
|
|
|
|
/DISCARD/ : { *(.interp*) }
|
|
|
|
/DISCARD/ : { *(.gnu*) }
|
|
|
|
}
|