]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/gaisler/gr_xc3s_1500/u-boot.lds
common: Add .u_boot_list into all linker files
[karo-tx-uboot.git] / board / gaisler / gr_xc3s_1500 / u-boot.lds
1 /* Linker script for Gaisler Research AB's GR-XC3S-1500 board
2  * with template design.
3  *
4  * (C) Copyright 2007
5  * Daniel Hellstrom, Gaisler Research, daniel@gaisler.com.
6  *
7  * See file CREDITS for list of people who contributed to this
8  * project.
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License as
12  * published by the Free Software Foundation; either version 2 of
13  * the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  *
25  */
26
27 OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
28 OUTPUT_ARCH(sparc)
29 ENTRY(_start)
30 SECTIONS
31 {
32
33 /* Read-only sections, merged into text segment: */
34         . = + SIZEOF_HEADERS;
35         .interp : { *(.interp) }
36         .hash          : { *(.hash)             }
37         .dynsym        : { *(.dynsym)           }
38         .dynstr        : { *(.dynstr)           }
39         .rel.text      : { *(.rel.text)         }
40         .rela.text     : { *(.rela.text)        }
41         .rel.data      : { *(.rel.data)         }
42         .rela.data     : { *(.rela.data)        }
43         .rel.rodata    : { *(.rel.rodata)       }
44         .rela.rodata   : { *(.rela.rodata)      }
45         .rel.got       : { *(.rel.got)          }
46         .rela.got      : { *(.rela.got)         }
47         .rel.ctors     : { *(.rel.ctors)        }
48         .rela.ctors    : { *(.rela.ctors)       }
49         .rel.dtors     : { *(.rel.dtors)        }
50         .rela.dtors    : { *(.rela.dtors)       }
51         .rel.bss       : { *(.rel.bss)          }
52         .rela.bss      : { *(.rela.bss)         }
53         .rel.plt       : { *(.rel.plt)          }
54         .rela.plt      : { *(.rela.plt)         }
55         .init          : { *(.init)             }
56         .plt : { *(.plt) }
57
58         .text : {
59                 _load_addr = .;
60                 _text = .;
61
62                 *(.start)
63                 arch/sparc/cpu/leon3/start.o (.text)
64 /* 8k is the same as the PROM offset from end of main memory, (CONFIG_SYS_PROM_SIZE) */
65                 . = ALIGN(8192);
66 /* PROM CODE, Will be relocated to the end of memory,
67  * no global data accesses please.
68  */
69                 __prom_start = .;
70                 *(.prom.pgt)
71                 *(.prom.data)
72                 *(.prom.text)
73                 . = ALIGN(16);
74                 __prom_end = .;
75                 *(.text)
76                 *(.fixup)
77                 *(.gnu.warning)
78 /*              *(.got1)*/
79                 . = ALIGN(16);
80                 *(.eh_frame)
81                 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
82         }
83         . = ALIGN(4);
84         _etext = .;
85
86         /* CMD Table */
87
88         __u_boot_cmd_start = .;
89         .u_boot_cmd : { *(.u_boot_cmd) }
90         . = ALIGN(4);
91         __u_boot_cmd_end = .;
92
93         . = ALIGN(4);
94         .u_boot_list : {
95         #include <u-boot.lst>
96         }
97
98         .data   :
99         {
100                 *(.data)
101                 *(.data1)
102                 *(.data.rel)
103                 *(.data.rel.*)
104                 *(.sdata)
105                 *(.sdata2)
106                 *(.dynamic)
107                 CONSTRUCTORS
108         }
109         _edata  =       .;
110         PROVIDE (edata = .);
111
112         . = ALIGN(4);
113         __got_start = .;
114         .got : {
115                 *(.got)
116 /*              *(.data.rel)
117                 *(.data.rel.local)*/
118                 . = ALIGN(16);
119         }
120         __got_end = .;
121
122 /*      .data.rel : { } */
123
124
125         . = ALIGN(4096);
126         __init_begin = .;
127         .text.init : { *(.text.init) }
128         .data.init : { *(.data.init) }
129         . = ALIGN(4096);
130         __init_end = .;
131
132         __bss_start = .;
133         .bss            :
134         {
135          *(.sbss) *(.scommon)
136          *(.dynbss)
137          *(.bss)
138          *(COMMON)
139         . = ALIGN(16); /* to speed clearing of bss up */
140         }
141         __bss_end = . ;
142         __bss_end__ = . ;
143         PROVIDE (end = .);
144
145 /* Relocated into main memory */
146
147         /* Start of main memory */
148         /*. = 0x40000000;*/
149
150         .stack (NOLOAD) : { *(.stack) }
151
152         /* PROM CODE */
153
154         /* global data in RAM passed to kernel after booting */
155
156
157   .stab 0               : { *(.stab) }
158   .stabstr 0            : { *(.stabstr) }
159   .stab.excl 0          : { *(.stab.excl) }
160   .stab.exclstr 0       : { *(.stab.exclstr) }
161   .stab.index 0         : { *(.stab.index) }
162   .stab.indexstr 0      : { *(.stab.indexstr) }
163   .comment 0            : { *(.comment) }
164
165 }