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