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