Kyle Swenson | 8d8f654 | 2021-03-15 11:02:55 -0600 | [diff] [blame^] | 1 | /* |
2 | * realmode.lds.S | ||||
3 | * | ||||
4 | * Linker script for the real-mode code | ||||
5 | */ | ||||
6 | |||||
7 | #include <asm/page_types.h> | ||||
8 | |||||
9 | #undef i386 | ||||
10 | |||||
11 | OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") | ||||
12 | OUTPUT_ARCH(i386) | ||||
13 | |||||
14 | SECTIONS | ||||
15 | { | ||||
16 | real_mode_seg = 0; | ||||
17 | |||||
18 | . = 0; | ||||
19 | .header : { | ||||
20 | pa_real_mode_base = .; | ||||
21 | *(.header) | ||||
22 | } | ||||
23 | |||||
24 | . = ALIGN(4); | ||||
25 | .rodata : { | ||||
26 | *(.rodata) | ||||
27 | *(.rodata.*) | ||||
28 | . = ALIGN(16); | ||||
29 | video_cards = .; | ||||
30 | *(.videocards) | ||||
31 | video_cards_end = .; | ||||
32 | } | ||||
33 | |||||
34 | . = ALIGN(PAGE_SIZE); | ||||
35 | pa_text_start = .; | ||||
36 | .text : { | ||||
37 | *(.text) | ||||
38 | *(.text.*) | ||||
39 | } | ||||
40 | |||||
41 | .text32 : { | ||||
42 | *(.text32) | ||||
43 | *(.text32.*) | ||||
44 | } | ||||
45 | |||||
46 | .text64 : { | ||||
47 | *(.text64) | ||||
48 | *(.text64.*) | ||||
49 | } | ||||
50 | pa_ro_end = .; | ||||
51 | |||||
52 | . = ALIGN(PAGE_SIZE); | ||||
53 | .data : { | ||||
54 | *(.data) | ||||
55 | *(.data.*) | ||||
56 | } | ||||
57 | |||||
58 | . = ALIGN(128); | ||||
59 | .bss : { | ||||
60 | *(.bss*) | ||||
61 | } | ||||
62 | |||||
63 | /* End signature for integrity checking */ | ||||
64 | . = ALIGN(4); | ||||
65 | .signature : { | ||||
66 | *(.signature) | ||||
67 | } | ||||
68 | |||||
69 | /DISCARD/ : { | ||||
70 | *(.note*) | ||||
71 | *(.debug*) | ||||
72 | *(.eh_frame*) | ||||
73 | } | ||||
74 | |||||
75 | #include "pasyms.h" | ||||
76 | } |