Bugfixing
[tpg/acess2.git] / Kernel / arch / x86_64 / link.ld
1 /*
2  * Acess2 x86_64 Kernel
3  * Linker Script
4  */
5
6 _kernel_base = 0xFFFF800000000000;
7
8 OUTPUT_FORMAT(elf32-i386)
9 OUTPUT_ARCH(i386:x86-64)
10 ENTRY (start)
11
12 SECTIONS {
13         . = 0x100000;
14         gKernelBase = .;
15         . += SIZEOF_HEADERS;
16         __load_addr = .;
17         .multiboot : AT(ADDR(.multiboot)) {
18                 *(.multiboot)
19         }
20         
21         . += _kernel_base;
22         
23         .text ALIGN(0x1000): AT(ADDR(.text) - _kernel_base) {
24                 *(.text)
25         }
26         
27         .usertext ALIGN(0x1000): AT(ADDR(.usertext) - _kernel_base) {
28                 _UsertextBase = .;
29                 *(.usertext)
30         }
31         _UsertextEnd = .;
32         
33         .rodata ALIGN(0x1000): AT(ADDR(.rodata) - _kernel_base) {
34                 *(.initpd)
35                 *(.rodata)
36                 *(.rdata)
37                 
38                 . = ALIGN(0x10);
39                 gKernelModules = .;
40                 *(KMODULES)
41                 gKernelModulesEnd = .;
42                 . = ALIGN(0x10);
43                 gKernelSymbols = .;
44                 *(KEXPORT)
45                 gKernelSymbolsEnd = .;
46         }
47         
48         .padata ALIGN (0x1000) : AT(ADDR(.padata) - _kernel_base) {
49                 *(.padata)
50         }
51         
52         .data ALIGN (0x1000) : AT(ADDR(.data) - _kernel_base) {
53                 *(.data)
54         }
55
56         __bss_start = .;
57         .bss : AT(ADDR(.bss) - _kernel_base) {
58                 _sbss = .;
59                 *(COMMON)
60                 *(.bss)
61                 _ebss = .;
62         }
63         gKernelEnd = (. + 0xFFF)&0xFFFFFFFFFFFFF000;
64 }

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