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