summaryrefslogtreecommitdiffstats
path: root/libgloss/ft32/sim.ld
diff options
context:
space:
mode:
Diffstat (limited to 'libgloss/ft32/sim.ld')
-rw-r--r--libgloss/ft32/sim.ld56
1 files changed, 56 insertions, 0 deletions
diff --git a/libgloss/ft32/sim.ld b/libgloss/ft32/sim.ld
new file mode 100644
index 000000000..c61c1a6e7
--- /dev/null
+++ b/libgloss/ft32/sim.ld
@@ -0,0 +1,56 @@
+OUTPUT_FORMAT("elf32-ft32")
+OUTPUT_ARCH(ft32)
+
+SEARCH_DIR(.)
+GROUP(-lsim -lc -lgcc -lsim)
+
+MEMORY
+{
+ flash (rx) : ORIGIN = 0, LENGTH = 256K
+ ram (rw!x) : ORIGIN = 0x800000, LENGTH = 64K
+}
+SECTIONS
+{
+ .text :
+ {
+ *(.text*)
+ *(.strings)
+ *(._pm*)
+ *(.init)
+ *(.fini)
+ _etext = . ;
+ } > flash
+ .tors :
+ {
+ ___ctors = . ;
+ *(.ctors)
+ ___ctors_end = . ;
+ ___dtors = . ;
+ *(.dtors)
+ ___dtors_end = . ;
+ } > ram
+ .data : AT (ADDR (.text) + SIZEOF (.text))
+ {
+ *(.data)
+ *(.rodata)
+ *(.rodata*)
+ _edata = . ;
+ } > ram
+ .bss SIZEOF(.data) + ADDR(.data) :
+ {
+ _bss_start = . ;
+ *(.bss)
+ *(COMMON)
+ _end = . ;
+ } > ram
+ __data_load_start = LOADADDR(.data);
+ __data_load_end = __data_load_start + SIZEOF(.data);
+ .stab 0 (NOLOAD) :
+ {
+ *(.stab)
+ }
+ .stabstr 0 (NOLOAD) :
+ {
+ *(.stabstr)
+ }
+}