xref: /kvm-unit-tests/arm/flat.lds (revision e97e1c827fadc972c4efc8fc0650984b6fcc74e8)
1
2SECTIONS
3{
4    PROVIDE(_text = .);
5    .text : { *(.init) *(.text) *(.text.*) }
6    . = ALIGN(64K);
7    PROVIDE(etext = .);
8
9    PROVIDE(reloc_start = .);
10    .rela.dyn : { *(.rela.dyn) }
11    PROVIDE(reloc_end = .);
12    .dynsym   : { *(.dynsym) }
13    .dynstr   : { *(.dynstr) }
14    .hash     : { *(.hash) }
15    .gnu.hash : { *(.gnu.hash) }
16    .got      : { *(.got) *(.got.plt) }
17    .eh_frame : { *(.eh_frame) }
18
19    .rodata   : { *(.rodata*) }
20    .data     : { *(.data) }
21    . = ALIGN(16);
22    PROVIDE(bss = .);
23    .bss      : { *(.bss) }
24    . = ALIGN(16);
25    PROVIDE(ebss = .);
26    . = ALIGN(64K);
27    PROVIDE(edata = .);
28
29    /*
30     * stack depth is 16K for arm and PAGE_SIZE for arm64, see THREAD_SIZE
31     * sp must be 16 byte aligned for arm64, and 8 byte aligned for arm
32     * sp must always be strictly less than the true stacktop
33     */
34    . += 64K;
35    . = ALIGN(64K);
36    PROVIDE(stackptr = . - 16);
37    PROVIDE(stacktop = .);
38
39    /DISCARD/ : {
40        *(.note*)
41        *(.interp)
42        *(.debug*)
43        *(.comment)
44        *(.dynamic)
45    }
46}
47
48ENTRY(start)
49