xref: /freebsd/stand/efi/loader/arch/i386/i386.ldscript (revision b64c5a0ace59af62eff52bfe110a521dc73c937b)
1OUTPUT_FORMAT("elf32-i386-freebsd", "elf32-i386-freebsd", "elf32-i386-freebsd")
2OUTPUT_ARCH(i386)
3ENTRY(_start)
4SECTIONS
5{
6  /* Read-only sections, merged into text segment: */
7  . = 0;
8  ImageBase = .;
9  . = SIZEOF_HEADERS;
10  . = ALIGN(4096);
11  .text		: {
12    *(.text .stub .text.* .gnu.linkonce.t.*)
13    /* .gnu.warning sections are handled specially by elf32.em. */
14    *(.gnu.warning)
15    *(.plt)
16  } =0xCCCCCCCC
17  . = ALIGN(4096);
18  .data		: {
19    *(.rodata .rodata.* .gnu.linkonce.r.*)
20    *(.rodata1)
21    *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
22    *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
23    *(.opd)
24    *(.data .data.* .gnu.linkonce.d.*)
25    *(.data1)
26    *(.plabel)
27    *(.dynbss)
28    *(.bss .bss.* .gnu.linkonce.b.*)
29    *(COMMON)
30  }
31  . = ALIGN(4096);
32  __gp = .;
33  .sdata	: {
34    *(.got.plt .got)
35    *(.sdata .sdata.* .gnu.linkonce.s.*)
36    *(dynsbss)
37    *(.sbss .sbss.* .gnu.linkonce.sb.*)
38    *(.scommon)
39  }
40  . = ALIGN(4096);
41  .dynamic	: { *(.dynamic) }
42  . = ALIGN(4096);
43  .rel.dyn	: {
44    *(.rel.*)
45    *(.relset_*)
46  }
47  . = ALIGN(4096);
48  .reloc	: { *(.reloc) }
49  . = ALIGN(4096);
50  .hash		: { *(.hash) }
51  . = ALIGN(4096);
52  .dynsym	: { *(.dynsym) }
53  . = ALIGN(4096);
54  .dynstr	: { *(.dynstr) }
55}
56