style
[RRG-proxmark3.git] / bootrom / ldscript-flash
blob374c2d6c7fbc7e02da4282c39bb7b78e118ad583
1 /*
2 -----------------------------------------------------------------------------
3  Copyright (C) Jonathan Westhues, Mar 2006
4  Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
6  This program is free software: you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation, either version 3 of the License, or
9  (at your option) any later version.
11  This program is distributed in the hope that it will be useful,
12  but WITHOUT ANY WARRANTY; without even the implied warranty of
13  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  GNU General Public License for more details.
16  See LICENSE.txt for the text of the license.
17 -----------------------------------------------------------------------------
18  Bootrom linker script
19 -----------------------------------------------------------------------------
22 INCLUDE ../common_arm/ldscript.common
24 PHDRS
26     phase1 PT_LOAD;
27     phase2 PT_LOAD;
28     bss PT_LOAD;
31 ENTRY(flashstart)
32 SECTIONS
34     .bootphase1 : {
35         *(.startup)
37         . = ALIGN(4);
38         _version_information_start = .;
39         KEEP(*(.version_information));
41         . = LENGTH(bootphase1) - 0x4;
42         LONG(_version_information_start);
43     } >bootphase1 :phase1
45     .bootphase2 : {
46         *(.startphase2)
47         *(.text)
48         *(.text.*)
49         *(.eh_frame)
50         *(.glue_7)
51         *(.glue_7t)
52         *(.rodata)
53         *(.rodata.*)
54         *(.data)
55         *(.data.*)
56         *(.ramfunc)
57         . = ALIGN(4);
58     } >ram AT>bootphase2 :phase2
60     __bootphase2_src_start__ = LOADADDR(.bootphase2);
61     __bootphase2_start__ = ADDR(.bootphase2);
62     __bootphase2_end__ = __bootphase2_start__ + SIZEOF(.bootphase2);
64     .bss : {
65         __bss_start__ = .;
66         *(.bss)
67         *(.bss.*)
68         . = ALIGN(4);
69         __bss_end__ = .;
70     } >ram AT>ram :bss
72     .commonarea (NOLOAD) : {
73         *(.commonarea)
74     } >commonarea