Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1133 - (hide 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 niro 1133 /* -----------------------------------------------------------------------
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     }