xref: /DragonStub/gnuefi/elf_aarch64_efi.lds (revision ad7f0d4ba29e8c94649e8ea2a9339b843126be21)
1OUTPUT_FORMAT("elf64-littleaarch64", "elf64-littleaarch64", "elf64-littleaarch64")
2OUTPUT_ARCH(aarch64)
3ENTRY(_start)
4SECTIONS
5{
6  .text 0x0 : {
7    _text = .;
8    *(.text.head)
9    *(.text)
10    *(.text.*)
11    *(.gnu.linkonce.t.*)
12    *(.srodata)
13    *(.rodata*)
14    . = ALIGN(16);
15  }
16  _etext = .;
17  _text_size = . - _text;
18  .dynamic  : { *(.dynamic) }
19  .data :
20  {
21   _data = .;
22   *(.sdata)
23   *(.data)
24   *(.data1)
25   *(.data.*)
26   *(.got.plt)
27   *(.got)
28
29   /* the EFI loader doesn't seem to like a .bss section, so we stick
30      it all into .data: */
31   . = ALIGN(16);
32   _bss = .;
33   *(.sbss)
34   *(.scommon)
35   *(.dynbss)
36   *(.bss)
37   *(COMMON)
38   . = ALIGN(16);
39   _bss_end = .;
40  }
41  .rela.dyn : { *(.rela.dyn) }
42  .rela.plt : { *(.rela.plt) }
43  .rela.got : { *(.rela.got) }
44  .rela.data : { *(.rela.data) *(.rela.data*) }
45  _edata = .;
46  _data_size = . - _etext;
47
48  . = ALIGN(4096);
49  .dynsym   : { *(.dynsym) }
50  . = ALIGN(4096);
51  .dynstr   : { *(.dynstr) }
52  . = ALIGN(4096);
53  /DISCARD/ :
54  {
55    *(.rel.reloc)
56    *(.eh_frame)
57    *(.note.GNU-stack)
58  }
59  .comment 0 : { *(.comment) }
60}
61