]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/gaisler/grsim_leon2/u-boot.lds
Merge branch 'u-boot/master' into u-boot-arm/master
[karo-tx-uboot.git] / board / gaisler / grsim_leon2 / u-boot.lds
1 /*
2  * Linker script for Gaisler Research AB's GRSIM LEON2 simulator.
3  *
4  * (C) Copyright 2007
5  * Daniel Hellstrom, Gaisler Research, daniel@gaisler.com.
6  *
7  * SPDX-License-Identifier:     GPL-2.0+
8  */
9
10 OUTPUT_FORMAT("elf32-sparc", "elf32-sparc", "elf32-sparc")
11 OUTPUT_ARCH(sparc)
12 ENTRY(_start)
13 SECTIONS
14 {
15
16 /* Read-only sections, merged into text segment: */
17         . = + SIZEOF_HEADERS;
18         .interp : { *(.interp) }
19         .hash          : { *(.hash) }
20         .dynsym        : { *(.dynsym) }
21         .dynstr        : { *(.dynstr) }
22         .rel.text      : { *(.rel.text) }
23         .rela.text     : { *(.rela.text) }
24         .rel.data      : { *(.rel.data) }
25         .rela.data     : { *(.rela.data) }
26         .rel.rodata    : { *(.rel.rodata) }
27         .rela.rodata   : { *(.rela.rodata) }
28         .rel.got       : { *(.rel.got) }
29         .rela.got      : { *(.rela.got) }
30         .rel.ctors     : { *(.rel.ctors) }
31         .rela.ctors    : { *(.rela.ctors) }
32         .rel.dtors     : { *(.rel.dtors) }
33         .rela.dtors    : { *(.rela.dtors) }
34         .rel.bss       : { *(.rel.bss) }
35         .rela.bss      : { *(.rela.bss) }
36         .rel.plt       : { *(.rel.plt) }
37         .rela.plt      : { *(.rela.plt) }
38         .init          : { *(.init) }
39         .plt : { *(.plt) }
40
41         .text : {
42                 _load_addr = .;
43                 _text = .;
44
45                 *(.start)
46                 arch/sparc/cpu/leon2/start.o (.text)
47 /* 8k is the same as the PROM offset from end of main memory, (CONFIG_SYS_PROM_SIZE) */
48                 . = ALIGN(8192);
49 /* PROM CODE, Will be relocated to the end of memory,
50  * no global data accesses please.
51  */
52                 __prom_start = .;
53                 *(.prom.pgt)
54                 *(.prom.data)
55                 *(.prom.text)
56                 . = ALIGN(16);
57                 __prom_end = .;
58                 *(.text)
59                 *(.fixup)
60                 *(.gnu.warning)
61 /*              *(.got1)*/
62                 . = ALIGN(16);
63                 *(.eh_frame)
64                 *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
65         }
66         . = ALIGN(4);
67         _etext = .;
68
69         /* CMD Table */
70
71
72         . = ALIGN(4);
73         .u_boot_list : {
74                 KEEP(*(SORT(.u_boot_list*)));
75         }
76
77         .data   :
78         {
79                 *(.data)
80                 *(.data1)
81                 *(.data.rel)
82                 *(.data.rel.*)
83                 *(.sdata)
84                 *(.sdata2)
85                 *(.dynamic)
86                 CONSTRUCTORS
87         }
88         _edata  =       .;
89         PROVIDE (edata = .);
90
91         . = ALIGN(4);
92         __got_start = .;
93         .got : {
94                 *(.got)
95 /*              *(.data.rel)
96                 *(.data.rel.local)*/
97                 . = ALIGN(16);
98         }
99         __got_end = .;
100
101 /*      .data.rel : { } */
102
103         . = ALIGN(4096);
104         __init_begin = .;
105         .text.init : { *(.text.init) }
106         .data.init : { *(.data.init) }
107         . = ALIGN(4096);
108         __init_end = .;
109
110         __bss_start = .;
111         .bss    :
112         {
113          *(.sbss) *(.scommon)
114          *(.dynbss)
115          *(.bss)
116          *(COMMON)
117         . = ALIGN(16); /* to speed clearing of bss up */
118         }
119         __bss_end = . ;
120         __bss_end = . ;
121         PROVIDE (end = .);
122
123 /* Relocated into main memory */
124
125         /* Start of main memory */
126         /*. = 0x40000000;*/
127
128         .stack (NOLOAD) : { *(.stack) }
129
130         /* PROM CODE */
131
132         /* global data in RAM passed to kernel after booting */
133
134         .stab 0         : { *(.stab) }
135         .stabstr 0              : { *(.stabstr) }
136         .stab.excl 0            : { *(.stab.excl) }
137         .stab.exclstr 0 : { *(.stab.exclstr) }
138         .stab.index 0           : { *(.stab.index) }
139         .stab.indexstr 0        : { *(.stab.indexstr) }
140         .comment 0              : { *(.comment) }
141
142 }