ld/testsuite/
authorNick Clifton <nickc@redhat.com>
Wed, 28 May 2008 15:38:36 +0000 (15:38 +0000)
committerNick Clifton <nickc@redhat.com>
Wed, 28 May 2008 15:38:36 +0000 (15:38 +0000)
        * ld-arm/arm-elf.exp: Skip farcalls tests for non-ARM-EABI
        targets.
        * ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: New file.
        * ld-arm/thumb2-bl-bad-noeabi.d: Likewise.

        ld/
        * ld.texinfo: State that farcalls stubs are supported for ARM-EABI
        only.

ld/ChangeLog
ld/emultempl/armelf.em
ld/ld.texinfo
ld/testsuite/ChangeLog
ld/testsuite/ld-arm/arm-elf.exp

index 0d892c187396af232b191af204203b82b8168d43..d896b6f606ff1fa13dbac5ae6c7565edad3f819f 100644 (file)
@@ -1,3 +1,8 @@
+2008-05-28  Christophe Lyon  <christophe.lyon@st.com>
+       
+       * ld.texinfo: State that farcalls stubs are supported for ARM-EABI
+       only.
+
 2008-05-27  Kai Tietz  <kai.tietz@onevision.com>
 
        * pe-dll.c (fill_edata): Make sure we calculate vma's in
index 57842f426fb4d248063bb3029118904991a6f937..6ebb30e96774d6fb495d3cf3a751b6a3ca915653 100644 (file)
@@ -355,7 +355,7 @@ gld${EMULATION_NAME}_finish (void)
        {
          if (ret < 0)
            {
-             einfo ("%X%P: can not size stub section: %E\n");
+             einfo ("%X%P: could not compute sections lists for stub generation: %E\n");
              return;
            }
 
@@ -369,7 +369,7 @@ gld${EMULATION_NAME}_finish (void)
                                      & elf32_arm_add_stub_section,
                                      & gldarm_layout_sections_again))
            {
-             einfo ("%X%P: can not size stub section: %E\n");
+             einfo ("%X%P: cannot size stub section: %E\n");
              return;
            }
        }
index e7dbd7b6bd3e29e77e985c548e525d93242a65f0..f4a347350ebd26b0358427f6726d6b04cf2c02cd 100644 (file)
@@ -5713,6 +5713,10 @@ from the input sections.
 The default, if @option{--stub-group-size=} is not specified, is
 @samp{N = +1}.
 
+Farcalls stubs insertion is fully supported for the ARM-EABI target
+only, because it relies on object files properties not present
+otherwise.
+
 @ifclear GENERIC
 @lowersections
 @end ifclear
index be242b6e0690793d541cae0b043103196eca4b32..8a0464264e473203a397eb6502ecd058edbe040f 100644 (file)
@@ -1,3 +1,10 @@
+2008-05-28  Christophe Lyon  <christophe.lyon@st.com>
+       
+       * ld-arm/arm-elf.exp: Skip farcalls tests for non-ARM-EABI
+       targets.
+       * ld-arm/thumb2-bl-as-thumb1-bad-noeabi.d: New file.
+       * ld-arm/thumb2-bl-bad-noeabi.d: Likewise.
+
 2008-05-22  Christophe Lyon  <christophe.lyon@st.com>
 
        * ld-arm/farcall-arm-arm.s: Force function type on 'bar'.
index 62a7ef00b35796a6d3fc4e8ecabe4a6517a5eca2..5f2af9d57cec76662aa037d5c40cc6d1a3a6ed54 100644 (file)
@@ -177,6 +177,36 @@ set armelftests {
     {"callweak" "-static -T arm.ld" "" {callweak.s}
      {{objdump -dr callweak.d}}
      "callweak"}
+}
+
+run_ld_link_tests $armelftests
+run_dump_test "group-relocs-alu-bad"
+run_dump_test "group-relocs-ldr-bad"
+run_dump_test "group-relocs-ldrs-bad"
+run_dump_test "group-relocs-ldc-bad"
+run_dump_test "emit-relocs1"
+
+# Exclude non-ARM-EABI targets.
+
+if { ![istarget "arm*-*-*eabi"] } {
+    # Special variants of these tests, as no farcall stub is generated
+    # for a non-ARM-EABI target
+    run_dump_test "thumb2-bl-as-thumb1-bad-noeabi"
+    run_dump_test "thumb2-bl-bad-noeabi"
+    return
+}
+
+# Farcalls stubs are fully supported for ARM-EABI only
+set armeabitests {
+     {"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
+      {{readelf -A attr-merge.attr}}
+      "attr-merge"}
+     {"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
+      {{readelf -A attr-merge-2.attr}}
+      "attr-merge-2"}
+     {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" {thumb2-bl.s}
+      {{objdump -dr thumb2-bl.d}}
+      "thumb2-bl"}
     
     {"ARMv4 interworking" "-static -T arm.ld --fix-v4bx-interworking" "--fix-v4bx -meabi=4" {armv4-bx.s}
      {{objdump -d armv4-bx.d}}
@@ -252,37 +282,9 @@ set armelftests {
      "farcall-group-size2"}
 }
 
-run_ld_link_tests $armelftests
-run_dump_test "group-relocs-alu-bad"
-run_dump_test "group-relocs-ldr-bad"
-run_dump_test "group-relocs-ldrs-bad"
-run_dump_test "group-relocs-ldc-bad"
-run_dump_test "emit-relocs1"
+run_ld_link_tests $armeabitests
 run_dump_test "farcall-thumb-thumb"
 run_dump_test "farcall-thumb-thumb-pic-veneer"
 run_dump_test "farcall-thumb-thumb-m-pic-veneer"
 run_dump_test "farcall-thumb-arm-pic-veneer"
 run_dump_test "farcall-section"
-
-# Exclude non-ARM-EABI targets.
-
-if { ![istarget "arm*-*-*eabi"] } {
-    return
-}
-
-set armeabitests {
-     {"EABI attribute merging" "-r" "" {attr-merge.s attr-merge.s}
-      {{readelf -A attr-merge.attr}}
-      "attr-merge"}
-     {"EABI attribute merging 2" "-r" "" {attr-merge-2a.s attr-merge-2b.s}
-      {{readelf -A attr-merge-2.attr}}
-      "attr-merge-2"}
-     {"Thumb-2 BL" "-Ttext 0x1000 --section-start .foo=0x1001000" "" {thumb2-bl.s}
-      {{objdump -dr thumb2-bl.d}}
-      "thumb2-bl"}
-     {"Thumb-2 Interworked branch" "-T arm.ld" "" {thumb2-b-interwork.s}
-      {{objdump -dr thumb2-b-interwork.d}}
-      "thumb2-b-interwork"}
-}
-
-run_ld_link_tests $armeabitests