Rev 16 | Rev 105 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
65 | decky | 1 | /** IA-32 linker script |
1 | jermar | 2 | * |
3 | * kernel text |
||
4 | * kernel data |
||
5 | * |
||
6 | */ |
||
7 | |||
8 | OUTPUT_FORMAT(binary) |
||
9 | ENTRY(kernel_image_start) |
||
10 | |||
11 | SECTIONS { |
||
12 | .image 0x8000: AT (0x8000) { |
||
13 | ktext_start = .; |
||
14 | *(K_TEXT_START); |
||
16 | jermar | 15 | delta_start = .; |
16 | *(K_DATA_START); |
||
17 | delta_end = .; |
||
1 | jermar | 18 | *(.text); |
19 | ktext_end = .; |
||
20 | |||
21 | kdata_start = .; |
||
22 | *(.data); /* initialized data */ |
||
23 | *(.rodata*); /* string literals */ |
||
24 | *(COMMON); /* global variables */ |
||
25 | *(.bss); /* uninitialized static variables */ |
||
26 | *(K_DATA_END); |
||
27 | kdata_end = .; |
||
28 | } |
||
29 | |||
30 | . = ABSOLUTE(hardcoded_ktext_size); |
||
31 | .patch_1 : { |
||
16 | jermar | 32 | LONG(ktext_end - ktext_start - (delta_end - delta_start)); |
1 | jermar | 33 | } |
34 | |||
35 | . = ABSOLUTE(hardcoded_kdata_size); |
||
36 | .patch_2 : { |
||
16 | jermar | 37 | LONG(kdata_end - kdata_start + (delta_end - delta_start)); |
1 | jermar | 38 | } |
39 | |||
40 | . = ABSOLUTE(hardcoded_load_address); |
||
41 | .patch_3 : { |
||
42 | LONG(0x8000); |
||
43 | } |
||
44 | |||
45 | } |