Magellan Linux

Contents of /trunk/mkinitrd-magellan/isolinux/syslinux.ld

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1133 - (show annotations) (download)
Thu Aug 19 09:50:43 2010 UTC (13 years, 8 months 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 }