]>
Commit | Line | Data |
---|---|---|
65cdd643 AA |
1 | /* |
2 | * Copyright (c) 2004-2008 Texas Instruments | |
3 | * | |
4 | * (C) Copyright 2002 | |
5 | * Gary Jennejohn, DENX Software Engineering, <garyj@denx.de> | |
6 | * | |
7 | * See file CREDITS for list of people who contributed to this | |
8 | * project. | |
9 | * | |
10 | * This program is free software; you can redistribute it and/or | |
11 | * modify it under the terms of the GNU General Public License as | |
12 | * published by the Free Software Foundation; either version 2 of | |
13 | * the License, or (at your option) any later version. | |
14 | * | |
15 | * This program is distributed in the hope that it will be useful, | |
16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
18 | * GNU General Public License for more details. | |
19 | * | |
20 | * You should have received a copy of the GNU General Public License | |
21 | * along with this program; if not, write to the Free Software | |
22 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | |
23 | * MA 02111-1307 USA | |
24 | */ | |
25 | ||
26 | OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm") | |
27 | OUTPUT_ARCH(arm) | |
28 | ENTRY(_start) | |
29 | SECTIONS | |
30 | { | |
31 | . = 0x00000000; | |
32 | ||
33 | . = ALIGN(4); | |
34 | .text : | |
35 | { | |
36 | __image_copy_start = .; | |
37 | CPUDIR/start.o (.text*) | |
38 | *(.text*) | |
39 | } | |
40 | ||
41 | . = ALIGN(4); | |
42 | .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) } | |
43 | ||
44 | . = ALIGN(4); | |
45 | .data : { | |
46 | *(.data*) | |
47 | } | |
48 | ||
49 | . = ALIGN(4); | |
50 | ||
51 | . = .; | |
52 | ||
53 | __image_copy_end = .; | |
54 | ||
55 | .rel.dyn : { | |
56 | __rel_dyn_start = .; | |
57 | *(.rel*) | |
58 | __rel_dyn_end = .; | |
59 | } | |
60 | ||
61 | .dynsym : { | |
62 | __dynsym_start = .; | |
63 | *(.dynsym) | |
64 | } | |
65 | ||
66 | _end = .; | |
67 | ||
65cdd643 AA |
68 | .bss __rel_dyn_start (OVERLAY) : { |
69 | __bss_start = .; | |
70 | *(.bss*) | |
71 | . = ALIGN(4); | |
0ce033d2 | 72 | __bss_end = .; |
65cdd643 AA |
73 | } |
74 | ||
75 | /DISCARD/ : { *(.dynstr*) } | |
76 | /DISCARD/ : { *(.dynamic*) } | |
77 | /DISCARD/ : { *(.plt*) } | |
78 | /DISCARD/ : { *(.interp*) } | |
79 | /DISCARD/ : { *(.gnu*) } | |
80 | } | |
81 | ||
6ebc3461 AA |
82 | #if defined(CONFIG_SPL_MAX_SIZE) |
83 | ASSERT(__image_copy_end - __image_copy_start < (CONFIG_SPL_MAX_SIZE), \ | |
84 | "SPL image too big"); | |
85 | #endif | |
86 | ||
87 | #if defined(CONFIG_SPL_BSS_MAX_SIZE) | |
88 | ASSERT(__bss_end - __bss_start < (CONFIG_SPL_BSS_MAX_SIZE), \ | |
89 | "SPL image BSS too big"); | |
90 | #endif | |
91 | ||
92 | #if defined(CONFIG_SPL_MAX_FOOTPRINT) | |
93 | ASSERT(__bss_end - _start < (CONFIG_SPL_MAX_FOOTPRINT), \ | |
94 | "SPL image plus BSS too big"); | |
65cdd643 | 95 | #endif |