Re-add support for lbarx, lharx, stbcx. and sthcx. insns back to the E6500 cpu.
[binutils-gdb.git] / ld / scripttempl / ft32.sc
blobbc55d1032f9d0b63860d631baf05810f8afe30c3
1 TORS=".tors :
2   {
3     ___ctors = . ;
4     *(.ctors)
5     ___ctors_end = . ;
6     ___dtors = . ;
7     *(.dtors)
8     ___dtors_end = . ;
9     . = ALIGN(4);
10   } > ram"
12 cat <<EOF
13 OUTPUT_FORMAT("${OUTPUT_FORMAT}")
14 OUTPUT_ARCH(${ARCH})
15 ${LIB_SEARCH_DIRS}
17 MEMORY
19   /* Note - we cannot use "PROVIDE(len)" ... "LENGTH = len" as
20      PROVIDE statements are not evaluated inside MEMORY blocks.  */
21   flash     (rx)   : ORIGIN = 0, LENGTH = 256K
22   ram       (rw!x) : ORIGIN = 0x800000, LENGTH = 64K
24 SECTIONS
26   .text :
27   {
28     *(.text*)
29     *(.strings)
30     *(._pm*)
31     *(.init)
32     *(.fini)
33     ${RELOCATING+ _etext = . ; }
34     . = ALIGN(4);
35   } ${RELOCATING+ > flash}
36   ${CONSTRUCTING+${TORS}}
37   .data : ${RELOCATING+ AT (ADDR (.text) + SIZEOF (.text))}
38   {
39     *(.data)
40     *(.rodata)
41     *(.rodata*)
42     ${RELOCATING+ _edata = . ; }
43   } ${RELOCATING+ > ram}
44   .bss  ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
45   {
46     ${RELOCATING+ _bss_start = . ; }
47     *(.bss)
48     *(COMMON)
49     ${RELOCATING+ _end = . ;  }
50   } ${RELOCATING+ > ram}
52   ${RELOCATING+ __data_load_start = LOADADDR(.data); }
53   ${RELOCATING+ __data_load_end = __data_load_start + SIZEOF(.data); }
55   .stab 0 ${RELOCATING+(NOLOAD)} :
56   {
57     *(.stab)
58   }
59   .stabstr 0 ${RELOCATING+(NOLOAD)} :
60   {
61     *(.stabstr)
62   }
63 EOF
65 . $srcdir/scripttempl/DWARF.sc
67 cat <<EOF
69 EOF