-SECTIONS\r
-{\r
- . = 0x00010000;\r
- .text : { obj/start.o(.text) *(.text) }\r
- .rodata : { *(.rodata) }\r
- . = 0x00200000;\r
- .data : { *(.data) }\r
- __bss_start__ = .;\r
- .bss : { *(.bss) }\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.*)
+ *(.ramfunc)
+ . = 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
+}