Contents of /trunk/mkinitrd-magellan/isolinux/syslinux.ld
Parent Directory | Revision Log
Revision 1133 -
(show annotations)
(download)
Thu Aug 19 09:50:43 2010 UTC (14 years, 1 month ago) by niro
File size: 3181 byte(s)
Thu Aug 19 09:50:43 2010 UTC (14 years, 1 month ago) by niro
File size: 3181 byte(s)
-updated to isolinux-3.86
1 | /* ----------------------------------------------------------------------- |
2 | * |
3 | * Copyright 2008-2009 H. Peter Anvin - All Rights Reserved |
4 | * Copyright 2009 Intel Corporation; author: H. Peter Anvin |
5 | * |
6 | * This program is free software; you can redistribute it and/or modify |
7 | * it under the terms of the GNU General Public License as published by |
8 | * the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, |
9 | * Boston MA 02110-1301, USA; either version 2 of the License, or |
10 | * (at your option) any later version; incorporated herein by reference. |
11 | * |
12 | * ----------------------------------------------------------------------- */ |
13 | |
14 | /* |
15 | * Linker script for the SYSLINUX core |
16 | */ |
17 | |
18 | OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386") |
19 | OUTPUT_ARCH(i386) |
20 | EXTERN(_start) |
21 | ENTRY(_start) |
22 | |
23 | SECTIONS |
24 | { |
25 | /* "Early" sections (before the load) */ |
26 | . = 0x0800; |
27 | |
28 | .earlybss : { |
29 | __earlybss_start = .; |
30 | *(.earlybss) |
31 | __earlybss_end = .; |
32 | } |
33 | __earlybss_len = __earlybss_end - __earlybss_start; |
34 | __earlybss_dwords = (__earlybss_len + 3) >> 2; |
35 | |
36 | .bss : { |
37 | __bss_start = .; |
38 | *(.bss) |
39 | *(.bss2) |
40 | __bss_end = .; |
41 | } |
42 | __bss_len = __bss_end - __bss_start; |
43 | __bss_dwords = (__bss_len + 3) >> 2; |
44 | |
45 | .config : AT (__config_lma) { |
46 | __config_start = .; |
47 | *(.config) |
48 | __config_end = .; |
49 | } |
50 | __config_len = __config_end - __config_start; |
51 | __config_dwords = (__config_len + 3) >> 2; |
52 | |
53 | . = ALIGN(16); |
54 | .replacestub : AT (__replacestub_lma) { |
55 | __replacestub_start = .; |
56 | *(.replacestub) |
57 | __replacestub_end = .; |
58 | } |
59 | __replacestub_len = __replacestub_end - __replacestub_start; |
60 | __replacestub_dwords = (__replacestub_len + 3) >> 2; |
61 | |
62 | /* Stack */ |
63 | |
64 | . = STACK_BASE; |
65 | .stack : AT(STACK_BASE) { |
66 | __stack_start = .; |
67 | . += STACK_LEN; |
68 | __stack_end = .; |
69 | } |
70 | __stack_len = __stack_end - __stack_start; |
71 | __stack_dwords = (__stack_len + 3) >> 2; |
72 | |
73 | /* Initialized sections */ |
74 | |
75 | . = 0x7c00; |
76 | .text : { |
77 | FILL(0x90909090) |
78 | __text_start = .; |
79 | *(.text) |
80 | __text_end = .; |
81 | } |
82 | __text_len = __text_end - __text_start; |
83 | __text_dwords = (__text_len + 3) >> 2; |
84 | |
85 | . = ALIGN(16); |
86 | .bcopyxx : { |
87 | FILL(0x90909090) |
88 | __bcopyxx_start = .; |
89 | *(.bcopyxx) |
90 | __bcopyxx_end = .; |
91 | } |
92 | __bcopyxx_len = __bcopyxx_end - __bcopyxx_start; |
93 | __bcopyxx_dwords = (__bcopyxx_len + 3) >> 2; |
94 | |
95 | . = ALIGN(4); |
96 | .data : { |
97 | __data_start = .; |
98 | *(.data) |
99 | __data_end = .; |
100 | } |
101 | __data_len = __data_end - __data_start; |
102 | __data_dwords = (__data_len + 3) >> 2; |
103 | |
104 | . = ALIGN(4); |
105 | __config_lma = .; |
106 | . += SIZEOF(.config); |
107 | |
108 | . = ALIGN(4); |
109 | __replacestub_lma = .; |
110 | . += SIZEOF(.replacestub); |
111 | |
112 | /* ADV, must be the last intialized section */ |
113 | |
114 | . = ALIGN(512); |
115 | .adv : { |
116 | __adv_start = .; |
117 | *(.adv) |
118 | __adv_end = .; |
119 | } |
120 | __adv_len = __adv_end - __adv_start; |
121 | __adv_dwords = (__adv_len + 3) >> 2; |
122 | |
123 | /* Late uninitialized sections */ |
124 | |
125 | .uibss : { |
126 | __uibss_start = .; |
127 | *(.uibss) |
128 | __uibss_end = .; |
129 | } |
130 | __uibss_len = __uibss_end - __uibss_start; |
131 | __uibss_dwords = (__uibss_len + 3) >> 2; |
132 | |
133 | .bss1 : { |
134 | __bss1_start = .; |
135 | *(.bss1) |
136 | __bss1_end = .; |
137 | } |
138 | __bss1_len = __bss1_end - __bss1_start; |
139 | __bss1_dwords = (__bss1_len + 3) >> 2; |
140 | |
141 | . = ASSERT(__bss1_end <= 0x10000, "64K overflow"); |
142 | |
143 | . = 0x100000; |
144 | .com32 : { |
145 | *(.com32) |
146 | } |
147 | } |