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

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