blob: 7eac4975ba1984fa5ef8de25a47acac6ae7800dc [file] [log] [blame]
Marek Vasut411b9ea2011-10-31 14:17:21 +01001/*
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 *
Wolfgang Denk1a459662013-07-08 09:37:19 +020011 * SPDX-License-Identifier: GPL-2.0+
Marek Vasut411b9ea2011-10-31 14:17:21 +010012 */
13
14OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
15OUTPUT_ARCH(arm)
16ENTRY(_start)
17SECTIONS
18{
19 . = CONFIG_SPL_TEXT_BASE;
20 .text.0 :
21 {
22 arch/arm/cpu/pxa/start.o (.text*)
23 board/vpac270/libvpac270.o (.text*)
24 drivers/mtd/onenand/libonenand.o (.text*)
25 }
26
27
28 /* Start of the rest of the SPL */
29 . = CONFIG_SPL_TEXT_BASE + 0x800;
30
31 .text.1 :
32 {
33 *(.text*)
34 }
35
36 . = ALIGN(4);
37 .rodata : { *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*))) }
38
39 . = ALIGN(4);
40 .data : {
Benoît Thébaudeau1a9a91d2013-04-11 09:36:03 +000041 *(.data*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010042 }
43
Marek Vasut411b9ea2011-10-31 14:17:21 +010044 . = ALIGN(4);
45
Benoît Thébaudeau7086e912013-04-11 09:35:46 +000046 __image_copy_end = .;
47
Marek Vasut411b9ea2011-10-31 14:17:21 +010048 .rel.dyn : {
49 __rel_dyn_start = .;
50 *(.rel*)
51 __rel_dyn_end = .;
52 }
53
Marek Vasut411b9ea2011-10-31 14:17:21 +010054 . = ALIGN(0x800);
55
56 _end = .;
57
58 .bss __rel_dyn_start (OVERLAY) : {
59 __bss_start = .;
Benoît Thébaudeau1a9a91d2013-04-11 09:36:03 +000060 *(.bss*)
Marek Vasut411b9ea2011-10-31 14:17:21 +010061 . = ALIGN(4);
Simon Glass3929fb02013-03-14 06:54:53 +000062 __bss_end = .;
Marek Vasut411b9ea2011-10-31 14:17:21 +010063 }
64
65 /DISCARD/ : { *(.bss*) }
Albert ARIBAUD09d81182013-06-11 14:17:31 +020066 /DISCARD/ : { *(.dynsym) }
Marek Vasut411b9ea2011-10-31 14:17:21 +010067 /DISCARD/ : { *(.dynstr*) }
68 /DISCARD/ : { *(.dynsym*) }
69 /DISCARD/ : { *(.dynamic*) }
70 /DISCARD/ : { *(.hash*) }
71 /DISCARD/ : { *(.plt*) }
72 /DISCARD/ : { *(.interp*) }
73 /DISCARD/ : { *(.gnu*) }
74}