-INCLUDE ../common/ldscript.common\r
-\r
-ENTRY(Vector)\r
-SECTIONS\r
-{\r
- .start : { obj/start.o(.text) } >osimage\r
- .text : { \r
- *(.text)\r
- *(.text.*)\r
- *(.glue_7)\r
- *(.glue_7t)\r
- } >osimage\r
- .rodata : { \r
- *(.rodata) \r
- *(.rodata*) \r
- } >osimage\r
- .data : { *(.data) } >ram\r
- __bss_start__ = .;\r
- .bss : { *(.bss) } >ram\r
- __bss_end__ = .;\r
-}\r
+/*
+-----------------------------------------------------------------------------
+ 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.
+-----------------------------------------------------------------------------
+ Linker script for the ARM binary
+-----------------------------------------------------------------------------
+*/
+INCLUDE ../common/ldscript.common
+
+PHDRS
+{
+ fpgaimage PT_LOAD FLAGS(4);
+ text PT_LOAD;
+ data PT_LOAD;
+ bss PT_LOAD;
+}
+
+ENTRY(Vector)
+SECTIONS
+{
+ .fpgaimage : {
+ *(fpga_bit.data)
+ } >fpgaimage :fpgaimage
+
+ .start : {
+ *(.startos)
+ } >osimage :text
+
+ .text : {
+ *(.text)
+ *(.text.*)
+ *(.eh_frame)
+ *(.glue_7)
+ *(.glue_7t)
+ } >osimage :text
+
+ .rodata : {
+ *(.rodata)
+ *(.rodata.*)
+ KEEP(*(.version_information))
+ } >osimage :text
+
+ . = ALIGN(4);
+
+ .data : {
+ *(.data)
+ *(.data.*)
+ . = ALIGN(4);
+ } >ram AT>osimage :data
+
+ __data_src_start__ = LOADADDR(.data);
+ __data_start__ = ADDR(.data);
+ __data_end__ = __data_start__ + SIZEOF(.data);
+
+ .bss : {
+ __bss_start__ = .;
+ *(.bss)
+ *(.bss.*)
+ . = ALIGN(4);
+ __bss_end__ = .;
+ } >ram AT>ram :bss
+
+ .commonarea (NOLOAD) : {
+ *(.commonarea)
+ } >commonarea :NONE
+}