Usermode/ld-acess - Overhaul cleanup of ELF loader
[tpg/acess2.git] / Usermode / Libraries / ld-acess.so_src / arch / x86_64.ld
1 ENTRY(_start)
2 OUTPUT_FORMAT(elf64-x86-64)
3
4 SECTIONS {
5         . = 0x00200000;
6         gLinkedBase = .;
7         . += SIZEOF_HEADERS;
8         .interp         : { *(.interp) }
9         .note.gnu.build-id : { *(.note.gnu.build-id) }
10         .hash           : { *(.hash) }
11         .gnu.hash       : { *(.gnu.hash) }
12         .dynsym         : { *(.dynsym) }
13         .dynstr         : { *(.dynstr) }
14         .gnu.version    : { *(.gnu.version) }
15         .gnu.version_d  : { *(.gnu.version_d) }
16         .gnu.version_r  : { *(.gnu.version_r) }
17         .rel.dyn        :
18         {
19                 *(.rel.init)
20                 *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
21                 *(.rel.fini)
22                 *(.rel.rodata .rel.rodata.* .rel.gnu.linkonce.r.*)
23                 *(.rel.data.rel.ro* .rel.gnu.linkonce.d.rel.ro.*)
24                 *(.rel.data .rel.data.* .rel.gnu.linkonce.d.*)
25                 *(.rel.tdata .rel.tdata.* .rel.gnu.linkonce.td.*)
26                 *(.rel.tbss .rel.tbss.* .rel.gnu.linkonce.tb.*)
27                 *(.rel.ctors)
28                 *(.rel.dtors)
29                 *(.rel.got)
30                 *(.rel.bss .rel.bss.* .rel.gnu.linkonce.b.*)
31         }
32         .rela.dyn       :
33         {
34                 *(.rela.init)
35                 *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
36                 *(.rela.fini)
37                 *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
38                 *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
39                 *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
40                 *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
41                 *(.rela.ctors)
42                 *(.rela.dtors)
43                 *(.rela.got)
44                 *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
45         }
46
47    .text : AT(ADDR(.text)) {
48         code = .;
49         *(.text)
50         *(.rodata*)
51    }
52
53    .data ALIGN (0x1000) : AT(ADDR(.data)) {
54         data = .;
55         *(.data)
56    }
57
58    .bss ALIGN (0x1000) : AT(ADDR(.bss)) {
59         _sbss = .;
60         *(COMMON)
61         *(.bss)
62         _ebss = .;
63         bss = .;
64    }
65    _end = .;
66 }

UCC git Repository :: git.ucc.asn.au