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