xref: /illumos-gate/usr/src/boot/efi/loader/arch/i386/ldscript.i386 (revision dd72704bd9e794056c558153663c739e2012d721)
1OUTPUT_FORMAT("elf32-i386-sol2", "elf32-i386-sol2", "elf32-i386-sol2")
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    mb_header.o(.text)
13    *(.text .stub .text.* .gnu.linkonce.t.*)
14    /* .gnu.warning sections are handled specially by elf32.em. */
15    *(.gnu.warning)
16    *(.plt)
17  } =0xCCCCCCCC
18  . = ALIGN(4096);
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    *(.dynbss)
29    *(.bss .bss.* .gnu.linkonce.b.*)
30    *(COMMON)
31  }
32  . = ALIGN(4096);
33  set_Xcommand_set	: {
34    __start_set_Xcommand_set = .;
35    *(set_Xcommand_set)
36    __stop_set_Xcommand_set = .;
37  }
38  set_Xficl_compile_set	: {
39    __start_set_Xficl_compile_set = .;
40    *(set_Xficl_compile_set)
41    __stop_set_Xficl_compile_set = .;
42  }
43  . = ALIGN(4096);
44  __gp = .;
45  .sdata	: {
46    *(.got.plt .got)
47    *(.sdata .sdata.* .gnu.linkonce.s.*)
48    *(dynsbss)
49    *(.sbss .sbss.* .gnu.linkonce.sb.*)
50    *(.scommon)
51  }
52  . = ALIGN(4096);
53  .dynamic	: { *(.dynamic) }
54  . = ALIGN(4096);
55  .rel.dyn	: {
56    *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
57    *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
58    *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
59    *(.rel.got)
60    *(.rel.sdata .rel.sdata.* .rel.gnu.linkonce.s.*)
61    *(.rel.sbss .rel.sbss.* .rel.gnu.linkonce.sb.*)
62    *(.rel.sdata2 .rel.sdata2.* .rel.gnu.linkonce.s2.*)
63    *(.rel.sbss2 .rel.sbss2.* .rel.gnu.linkonce.sb2.*)
64    *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
65    *(.rel.plt)
66    *(.relset_*)
67    *(.rel.dyn .rel.dyn.*)
68  }
69  . = ALIGN(4096);
70  .reloc	: { *(.reloc) }
71  . = ALIGN(4096);
72  .hash		: { *(.hash) }
73  . = ALIGN(4096);
74  .dynsym	: { *(.dynsym) }
75  . = ALIGN(4096);
76  .dynstr	: { *(.dynstr) }
77}
78