1/* $OpenBSD: ldscript.arm64,v 1.4 2022/07/29 21:34:59 kettenis Exp $ */
2
3ENTRY(_start)
4SECTIONS
5{
6  /* Read-only sections, merged into text segment: */
7  . = 0;
8  ImageBase = .;
9  .text		: {
10    *(.peheader)
11    *(.text .stub .text.* .gnu.linkonce.t.*)
12    /* .gnu.warning sections are handled specially by elf32.em. */
13    *(.gnu.warning)
14    *(.plt)
15  } =0xD4200000
16  . = ALIGN(4096);
17  _etext = .;
18  __data_start = .;
19  .data		: {
20    *(.rodata .rodata.* .gnu.linkonce.r.*)
21    *(.rodata1)
22    *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
23    *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
24    *(.opd)
25    *(.data .data.* .gnu.linkonce.d.*)
26    *(.data1)
27    *(.plabel)
28
29    . = ALIGN(16);
30    __bss_start = .;
31    *(.sbss .sbss.* .gnu.linkonce.sb.*)
32    *(.scommon)
33    *(.dynbss)
34    *(.bss *.bss.*)
35    *(COMMON)
36    . = ALIGN(16);
37    __bss_end = .;
38  }
39  . = ALIGN(16);
40  set_Xcommand_set	: {
41    __start_set_Xcommand_set = .;
42    *(set_Xcommand_set)
43    __stop_set_Xcommand_set = .;
44  }
45  set_Xficl_compile_set	: {
46    __start_set_Xficl_compile_set = .;
47    *(set_Xficl_compile_set)
48    __stop_set_Xficl_compile_set = .;
49  }
50  . = ALIGN(16);
51  __gp = .;
52  .sdata	: {
53    *(.got.plt .got)
54    *(.sdata .sdata.* .gnu.linkonce.s.*)
55    *(dynsbss)
56    *(.scommon)
57  }
58  . = ALIGN(16);
59  .dynamic	: { *(.dynamic) }
60  . = ALIGN(16);
61  .rela.dyn	: {
62    *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
63    *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
64    *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
65    *(.rela.got)
66    *(.rela.sdata .rela.sdata.* .rela.gnu.linkonce.s.*)
67    *(.rela.sbss .rela.sbss.* .rela.gnu.linkonce.sb.*)
68    *(.rela.sdata2 .rela.sdata2.* .rela.gnu.linkonce.s2.*)
69    *(.rela.sbss2 .rela.sbss2.* .rela.gnu.linkonce.sb2.*)
70    *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
71    *(.rela.plt)
72    *(.relset_*)
73    *(.rela.dyn .rela.dyn.*)
74  }
75  . = ALIGN(16);
76  .reloc	: { *(.reloc) }
77  . = ALIGN(16);
78  .dynsym	: { *(.dynsym) }
79  .dynstr	: { *(.dynstr) }
80  _edata = .;
81  __data_size = . - __data_start;
82
83  /* Unused sections */
84  .hash		: { *(.hash) }
85}
86