mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-01-07 00:28:07 +08:00
bd20f8f478
I have kept whatever copyright notices exist. Please add your own copyright notice if you have made any nontrivial changes or additions to the code. There are several files without any attribution, currently.
63 lines
1.8 KiB
Text
63 lines
1.8 KiB
Text
/*
|
|
-----------------------------------------------------------------------------
|
|
This code is licensed to you under the terms of the GNU GPL, version 2 or,
|
|
at your option, any later version. See the LICENSE.txt file for the text of
|
|
the license.
|
|
-----------------------------------------------------------------------------
|
|
Bootrom linker script
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
|
|
INCLUDE ../common/ldscript.common
|
|
|
|
ENTRY(flashstart)
|
|
SECTIONS
|
|
{
|
|
. = 0;
|
|
|
|
.bootphase1 : {
|
|
*(.startup)
|
|
*(.bootphase1)
|
|
|
|
/* It seems to be impossible to flush align a section at the
|
|
end of a memory segment. Instead, we'll put the version_information
|
|
wherever the linker wants it, and then put a pointer to the start
|
|
of the version information at the end of the section.
|
|
-- Henryk Plötz <henryk@ploetzli.ch> 2009-08-28 */
|
|
|
|
_version_information_start = ABSOLUTE(.);
|
|
*(.version_information);
|
|
|
|
/* Why doesn't this work even though _bootphase1_version_pointer = 0x1001fc?
|
|
. = _bootphase1_version_pointer - ORIGIN(bootphase1); */
|
|
/* This works, apparently it fools the linker into accepting an absolute address */
|
|
. = _bootphase1_version_pointer - ORIGIN(bootphase1) + ORIGIN(bootphase1);
|
|
LONG(_version_information_start)
|
|
} >bootphase1
|
|
|
|
__bootphase2_src_start__ = ORIGIN(bootphase2);
|
|
.bootphase2 : {
|
|
__bootphase2_start__ = .;
|
|
*(.startphase2)
|
|
*(.text)
|
|
*(.eh_frame)
|
|
*(.glue_7)
|
|
*(.glue_7t)
|
|
*(.rodata)
|
|
*(.data)
|
|
. = ALIGN( 32 / 8 );
|
|
__bootphase2_end__ = .;
|
|
} >ram AT>bootphase2
|
|
|
|
.bss : {
|
|
__bss_start__ = .;
|
|
*(.bss)
|
|
} >ram
|
|
|
|
. = ALIGN( 32 / 8 );
|
|
__bss_end__ = .;
|
|
|
|
.commonarea (NOLOAD) : {
|
|
*(.commonarea)
|
|
} >commonarea
|
|
}
|