source: SVN/rincon/u-boot/board/gaisler/grsim_leon2/u-boot.lds @ 55

Last change on this file since 55 was 55, checked in by Tim Harvey, 2 years ago

rincon: added latest u-boot source

restored form server backup

Signed-off-by: Tim Harvey <tharvey@…>

File size: 3.5 KB
Line 
1/* Linker script for Gaisler Research AB's GRSIM LEON2 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
26OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
27OUTPUT_ARCH(sparc)
28ENTRY(_start)
29SECTIONS
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/leon2/start.o (.text)
63/* 8k is the same as the PROM offset from end of main memory, (CFG_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        . = ALIGN(4096);
121        __init_begin = .;
122        .text.init : { *(.text.init) }
123        .data.init : { *(.data.init) }
124        . = ALIGN(4096);
125        __init_end = .;
126
127        __bss_start = .;
128        .bss    :
129        {
130         *(.sbss) *(.scommon)
131         *(.dynbss)
132         *(.bss)
133         *(COMMON)
134        . = ALIGN(16); /* to speed clearing of bss up */
135        }
136        __bss_end = . ;
137        _end = . ;
138        PROVIDE (end = .);
139
140/* Relocated into main memory */
141
142        /* Start of main memory */
143        /*. = 0x40000000;*/
144
145        .stack (NOLOAD) : { *(.stack) }
146
147        /* PROM CODE */
148
149        /* global data in RAM passed to kernel after booting */
150
151        .stab 0         : { *(.stab) }
152        .stabstr 0              : { *(.stabstr) }
153        .stab.excl 0            : { *(.stab.excl) }
154        .stab.exclstr 0 : { *(.stab.exclstr) }
155        .stab.index 0           : { *(.stab.index) }
156        .stab.indexstr 0        : { *(.stab.indexstr) }
157        .comment 0              : { *(.comment) }
158
159}
Note: See TracBrowser for help on using the repository browser.