Atmosphere/thermosphere/linker.ld
TuxSH b4eeddd7e1 Revamp all the Makefiles (thanks @fincs @WinterMute)
... dependencies are now properly handled (e.g. header changes, etc.)
2018-05-19 01:07:27 +02:00

56 lines
1,021 B
Plaintext

OUTPUT_FORMAT("elf64-littleaarch64")
OUTPUT_ARCH(aarch64)
ENTRY(_start)
SECTIONS
{
. = 0x800D0000;
. = ALIGN(4);
.text : {
PROVIDE(lds_thermo_start = .);
start.o (.text*)
*(.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 = .;
/* Page align the end of binary */
. = ALIGN(512);
PROVIDE(lds_el2_thermo_end = .);
/* EL1 stack */
. = ALIGN(16);
. += 0x10000; /* 64 KiB stack */
el1_stack_end = .;
lds_thermo_end = .;
/DISCARD/ : { *(.dynstr*) }
/DISCARD/ : { *(.dynamic*) }
/DISCARD/ : { *(.plt*) }
/DISCARD/ : { *(.interp*) }
/DISCARD/ : { *(.gnu*) }
}