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