]> git.ipfire.org Git - people/ms/u-boot.git/blob - arch/arm/cpu/arm926ejs/spear/u-boot-spl.lds
arm: Make all linker scripts compatible with per-symbol sections
[people/ms/u-boot.git] / arch / arm / cpu / arm926ejs / spear / u-boot-spl.lds
1 /*
2 * Copyright (C) 2011 Marek Vasut <marek.vasut@gmail.com>
3 * on behalf of DENX Software Engineering GmbH
4 *
5 * January 2004 - Changed to support H4 device
6 * Copyright (c) 2004-2008 Texas Instruments
7 *
8 * (C) Copyright 2002
9 * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de>
10 *
11 * See file CREDITS for list of people who contributed to this
12 * project.
13 *
14 * This program is free software; you can redistribute it and/or
15 * modify it under the terms of the GNU General Public License as
16 * published by the Free Software Foundation; either version 2 of
17 * the License, or (at your option) any later version.
18 *
19 * This program is distributed in the hope that it will be useful,
20 * but WITHOUT ANY WARRANTY; without even the implied warranty of
21 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22 * GNU General Public License for more details.
23 *
24 * You should have received a copy of the GNU General Public License
25 * along with this program; if not, write to the Free Software
26 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
27 * MA 02111-1307 USA
28 */
29
30 OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
31 OUTPUT_ARCH(arm)
32 ENTRY(_start)
33 SECTIONS
34 {
35 . = 0x00000000;
36
37 . = ALIGN(4);
38 .text :
39 {
40 arch/arm/cpu/arm926ejs/spear/start.o (.text*)
41 *(.text*)
42 }
43
44 . = ALIGN(4);
45 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
46
47 . = ALIGN(4);
48 .data : {
49 *(.data*)
50 }
51
52 . = ALIGN(4);
53
54 .rel.dyn : {
55 __rel_dyn_start = .;
56 *(.rel*)
57 __rel_dyn_end = .;
58 }
59
60 .dynsym : {
61 __dynsym_start = .;
62 *(.dynsym)
63 }
64
65 .bss : {
66 . = ALIGN(4);
67 __bss_start = .;
68 *(.bss*)
69 . = ALIGN(4);
70 __bss_end = .;
71 }
72
73 _end = .;
74
75 /DISCARD/ : { *(.dynstr*) }
76 /DISCARD/ : { *(.dynsym*) }
77 /DISCARD/ : { *(.dynamic*) }
78 /DISCARD/ : { *(.hash*) }
79 /DISCARD/ : { *(.plt*) }
80 /DISCARD/ : { *(.interp*) }
81 /DISCARD/ : { *(.gnu*) }
82 }