Fix lots of linker testsuite failures for the FT32 target.
authorNick Clifton <nickc@redhat.com>
Wed, 18 May 2016 09:11:47 +0000 (10:11 +0100)
committerNick Clifton <nickc@redhat.com>
Wed, 18 May 2016 09:11:47 +0000 (10:11 +0100)
* scripttempl/ft32.sc: Use fixed constants for memory region
lengths.  Include DWARF debug sections.
(.data .bss): Do not assign locations during relocatable links.
* testsuite/ld-elf/compressed1d.d: Skip for FT32.
* testsuite/ld-elf/sec-to-seg.exp: Likewise.
* testsuite/ld-elf/sec64k.exp: Likewise.
* testsuite/ld-elf/init-fini-array.d: XFail for FT32.
* testsuite/ld-elf/merge.d: Likewise.
* testsuite/ld-elf/orphan-region.d: Likewise.
* testsuite/ld-elf/orphan.s: Likewise.
* testsuite/ld-elf/orphan3.d: Likewise.
* testsuite/ld-elf/pr349.d: Likewise.
* testsuite/ld-elf/warn2.d: Likewise.
* testsuite/lib/ld-lib.exp (check_shared_lib_support): Note
that the FT32 does not support shared libraries.

14 files changed:
ld/ChangeLog
ld/scripttempl/elf32msp430.sc
ld/scripttempl/ft32.sc
ld/testsuite/ld-elf/compressed1d.d
ld/testsuite/ld-elf/init-fini-arrays.d
ld/testsuite/ld-elf/merge.d
ld/testsuite/ld-elf/orphan-region.d
ld/testsuite/ld-elf/orphan.d
ld/testsuite/ld-elf/orphan3.d
ld/testsuite/ld-elf/pr349.d
ld/testsuite/ld-elf/sec-to-seg.exp
ld/testsuite/ld-elf/sec64k.exp
ld/testsuite/ld-elf/warn2.d
ld/testsuite/lib/ld-lib.exp

index e50b318c27b5c041b91902ffdc9e9d58cceed120..4dabdf8e5fec02b364aa960eab6da0ee61db69a8 100644 (file)
@@ -1,3 +1,21 @@
+2016-05-18  Nick Clifton  <nickc@redhat.com>
+
+       * scripttempl/ft32.sc: Use fixed constants for memory region
+       lengths.  Include DWARF debug sections.
+       (.data .bss): Do not assign locations during relocatable links.
+       * testsuite/ld-elf/compressed1d.d: Skip for FT32.
+       * testsuite/ld-elf/sec-to-seg.exp: Likewise.
+       * testsuite/ld-elf/sec64k.exp: Likewise.
+       * testsuite/ld-elf/init-fini-array.d: XFail for FT32.
+       * testsuite/ld-elf/merge.d: Likewise.
+       * testsuite/ld-elf/orphan-region.d: Likewise.
+       * testsuite/ld-elf/orphan.s: Likewise.
+       * testsuite/ld-elf/orphan3.d: Likewise.
+       * testsuite/ld-elf/pr349.d: Likewise.
+       * testsuite/ld-elf/warn2.d: Likewise.
+       * testsuite/lib/ld-lib.exp (check_shared_lib_support): Note
+       that the FT32 does not support shared libraries.
+
 2016-05-17  H.J. Lu  <hongjiu.lu@intel.com>
 
        * testsuite/lib/ld-lib.exp (at_least_gcc_version): Check
index b0a6624d5afa82baad5b4cdecda418baabc6b9d5..17bcb36585aa200291e821ec0320e4cb132e1454 100644 (file)
@@ -313,7 +313,7 @@ SECTIONS
   .comment 0 : { *(.comment) }
 EOF
 
-source $srcdir/scripttempl/DWARF.sc
+. $srcdir/scripttempl/DWARF.sc
 
 cat <<EOF
   .MSP430.attributes 0 :
index 5f5df2265c68767f61f3f7fa99bd4a7b674a62a5..bc55d1032f9d0b63860d631baf05810f8afe30c3 100644 (file)
@@ -14,13 +14,12 @@ OUTPUT_FORMAT("${OUTPUT_FORMAT}")
 OUTPUT_ARCH(${ARCH})
 ${LIB_SEARCH_DIRS}
 
-PROVIDE( __PMSIZE = 256K );
-PROVIDE( __RAMSIZE = 64K );
-
 MEMORY
 {
-  flash     (rx)   : ORIGIN = 0, LENGTH = __PMSIZE
-  ram       (rw!x) : ORIGIN = 0x800000, LENGTH = __RAMSIZE
+  /* Note - we cannot use "PROVIDE(len)" ... "LENGTH = len" as
+     PROVIDE statements are not evaluated inside MEMORY blocks.  */
+  flash     (rx)   : ORIGIN = 0, LENGTH = 256K
+  ram       (rw!x) : ORIGIN = 0x800000, LENGTH = 64K
 }
 SECTIONS
 {
@@ -35,14 +34,14 @@ SECTIONS
     . = ALIGN(4);
   } ${RELOCATING+ > flash}
   ${CONSTRUCTING+${TORS}}
-  .data          : AT (ADDR (.text) + SIZEOF (.text))
+  .data        : ${RELOCATING+ AT (ADDR (.text) + SIZEOF (.text))}
   {
     *(.data)
     *(.rodata)
     *(.rodata*)
     ${RELOCATING+ _edata = . ; }
   } ${RELOCATING+ > ram}
-  .bss  SIZEOF(.data) + ADDR(.data) :
+  .bss  ${RELOCATING+ SIZEOF(.data) + ADDR(.data)} :
   {
     ${RELOCATING+ _bss_start = . ; }
     *(.bss)
@@ -61,5 +60,10 @@ SECTIONS
   {
     *(.stabstr)
   }
+EOF
+
+. $srcdir/scripttempl/DWARF.sc
+
+cat <<EOF
 }
 EOF
index 496557ded1d8656209cfb19170933726d6206344..11d39b7e908301a8eb4cc271e80a77479fe2f375 100644 (file)
@@ -2,7 +2,7 @@
 #as: --compress-debug-sections=none
 #ld: -r --compress-debug-sections=zlib-gnu
 #readelf: -SW
-#notarget: arc*-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-* i370-*-* i860-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-*
+#notarget: arc*-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-* ft32-*-* i370-*-* i860-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-*
 # Not all ELF targets use the elf.em emulation...
 
 #failif
index 46b536c9c5a01122af4e7baa7f4fccab5eb4e058..97295184bce4000c13c48d89b2b6f3483e54d7fb 100644 (file)
@@ -1,9 +1,9 @@
 #source: init-fini-arrays.s
 #ld: -r
 #readelf: -S --wide
-#xfail: cr16-*-* crx-*-* msp430-*-*
+#xfail: cr16-*-* crx-*-* ft32-*-* msp430-*-*
 # msp430 puts the init_array and fini_array inside the .rodata section.
-# cr16 and crx use non-standard scripts with memory regions, which don't play
+# cr16, crx and ft32 use non-standard scripts with memory regions, which don't play
 #  well with unique group sections under ld -r.
 
 #...
index 7c1e4f054f77dbaf32db24fc1faa6008bca30179..f3ed8821d63fe4a32de07387f6e0e59b3e6ed726 100644 (file)
@@ -6,7 +6,7 @@
 #xfail: "i370-*-*" "i860-*-*" "i960-*-*" "ip2k-*-*" "iq2000-*-*" "lm32-*-*"
 #xfail: "mcore-*-*" "mn102*-*-*" "ms1-*-*" "mep-*-*"
 #xfail: "or32-*-*" "pj-*-*" "sparc*-*-*" "tic6x-*-*" "vax-*-*" "xstormy16-*-*"
-#xfail: "xtensa*-*-*" "metag-*-*"
+#xfail: "xtensa*-*-*" "metag-*-*" "ft32-*-*"
 
 .*:     file format .*elf.*
 
index 8fe671109b7a28bd78650b459af412839d59639f..a74caf7b68fa3c09ad68a54c2107cc2c7ad06807 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan-region.s
 #ld: -T orphan-region.ld -N -z stack-size=0
 #readelf: -S -l --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 #xfail: spu-*-* hppa*64*-*-* *-*-nacl*
 # if not using elf32.em, you don't get fancy orphan handling
index 1af486931f9e86aa052932c25f24b04d50df0896..d03281e854747eb07cbc3a1e779f66528d501d64 100644 (file)
@@ -1,7 +1,7 @@
 #source: orphan.s
 #ld: -T orphan.ld
 #readelf: -S --wide
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy orphan handling
 
index c098e1b71b8093053aa2f5f8f7461de265365db3..3331e3f3863f7366a0b6cde132af014ca660d1a4 100644 (file)
@@ -6,7 +6,7 @@
 #source: orphan3f.s
 #ld:
 #readelf: -S --wide
-#xfail: "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-elf"
+#xfail: "d30v-*-*" "dlx-*-*" "fr30-*-*" "frv-*-elf" "ft32-*-*"
 #xfail: "i860-*-*" "i960-*-*" "iq2000-*-*" "mn10200-*-*" "msp430-*-*" "mt-*-*"
 #xfail: "pj-*-*"
 #xfail: "xstormy16-*-*"
index 7c4ff73c2848c4e8a8581ffc1112bce0f11c46a7..565e38775282b7cd95e5bae4c6b958c44a9ddda1 100644 (file)
@@ -2,7 +2,7 @@
 #source: pr349-2.s
 #ld: -r
 #readelf: -S
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy section handling
 
index 51c3bdeb0155c73f9d9d837ac4d6e948b17bb86a..8847318aa7d5e0f987dcca2811c19cf20f25f9ec 100644 (file)
@@ -78,6 +78,7 @@ if {    [istarget avr-*-*]
      || [istarget cr16-*-*]
      || [istarget crx-*-*]
      || [istarget dlx-*-*]
+     || [istarget ft32-*-*]
      || [istarget h8300-*-*]
      || [istarget i960-*-*]
      || [istarget ip2k-*-*]
index b0e49ea8216a0cb6c7c073c9f997537d905555dd..b089fb8171861b7329492df91d0d19476cc3846d 100644 (file)
@@ -40,8 +40,10 @@ if { [istarget "arc*-*-*"]
     return
 }
 
-# m68hc11, m68hc12 and xgate run out of address space.
-if { [istarget "m68hc1*-*"] || [istarget "xgate-*"] } {
+# ft32, m68hc11, m68hc12 and xgate run out of address space.
+if {   [istarget "ft32-*-*"]
+    || [istarget "m68hc1*-*"]
+    || [istarget "xgate-*"] } {
     return
 }
 
index 8b3f4a0812f29157756a19fc5927a31459b82e8a..cfeb8ce5342c1d3e02c12e22d7796115a7262c75 100644 (file)
@@ -5,7 +5,7 @@
 #warning: ^[^\\n]*\.[obj]+: warning: function 'Foo' used$
 #readelf: -s
 #notarget: "sparc64-*-solaris2*" "sparcv9-*-solaris2*"
-#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf i860-*-* i960-*-*
+#xfail: d30v-*-* dlx-*-* fr30-*-* frv-*-elf ft32-*-* i860-*-* i960-*-*
 #xfail: iq*-*-* mn10200-*-* moxie-*-* msp*-*-* mt-*-* pj*-*-*
 # if not using elf32.em, you don't get fancy section handling
 
index d2ece76ee9c546213b23f36c9ce1acc4b26b8bb3..07ed74735119e698f6b66944b2ee409808c2af8b 100644 (file)
@@ -1719,6 +1719,7 @@ proc check_shared_lib_support { } {
         && ![istarget dlx-*-*]
         && ![istarget epiphany-*-*]
         && ![istarget fr30-*-*]
+        && ![istarget ft32-*-*]
         && ![istarget frv-*-*]
         && ![istarget h8300-*-*]
         && ![istarget i860-*-*]