This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[gold][PATCH] Fix failing ARM tests


Hi

This patch fixes some ARM tests by adding alignment directives before
stub tables so that they appear in expected locations.  These tests use
grep to match instructions at specific addresses so that are sensitive
to the placement of stub tables.  The patch was tested fro cross target
arm-linux-gnueabihf.  Also cross tests now passed in trunk.

Ok for trunk and 2.25 branch?

-Doug
---
 gold/ChangeLog                               | 15 +++++++++++++++
 gold/testsuite/arm_bl_out_of_range.s         |  3 +++
 gold/testsuite/arm_cortex_a8_b.s             |  3 +++
 gold/testsuite/arm_cortex_a8_b_cond.s        |  3 +++
 gold/testsuite/arm_cortex_a8_bl.s            |  3 +++
 gold/testsuite/arm_cortex_a8_blx.s           |  5 +++++
 gold/testsuite/arm_cortex_a8_local.s         |  3 +++
 gold/testsuite/arm_fix_v4bx.s                |  3 +++
 gold/testsuite/arm_unaligned_reloc.s         |  2 +-
 gold/testsuite/thumb_bl_out_of_range.s       |  5 ++++-
 gold/testsuite/thumb_bl_out_of_range_local.s |  5 ++++-
 gold/testsuite/thumb_blx_out_of_range.s      |  5 ++++-
 12 files changed, 51 insertions(+), 4 deletions(-)

diff --git a/gold/ChangeLog b/gold/ChangeLog
index 4b5b860..57468be 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,18 @@
+2015-06-29  Doug Kwan  <dougkwan@google.com>
+
+       * testsuite/arm_bl_out_of_range.s: Align stub table so that it appears
+         at address expected by test.
+       * testsuite/arm_cortex_a8_b.s: Ditto.
+       * testsuite/arm_cortex_a8_b_cond.s: Ditto.
+       * testsuite/arm_cortex_a8_bl.s: Ditto.
+       * testsuite/arm_cortex_a8_blx.s: Ditto.
+       * testsuite/arm_cortex_a8_local.s: Ditto.
+       * testsuite/arm_fix_v4bx.s: Ditto.
+       * testsuite/arm_unaligned_reloc.s: Ditto.
+       * testsuite/thumb_bl_out_of_range.s: Ditto.
+       * testsuite/thumb_bl_out_of_range_local.s: Ditto.
+       * testsuite/thumb_blx_out_of_range.s: Ditto.
+
 2015-06-29  Han Shen  <shenhan@google.com>

        Patch for erratum 843419 internal error.
diff --git a/gold/testsuite/arm_bl_out_of_range.s
b/gold/testsuite/arm_bl_out_of_range.s
index cb5ff53..8ee338a 100644
--- a/gold/testsuite/arm_bl_out_of_range.s
+++ b/gold/testsuite/arm_bl_out_of_range.s
@@ -34,6 +34,9 @@ _forward_test:
        bl      _forward_target
        .size   _forward_test, .-_forward_test

+# Align stub table for address matching
+       .align  8
+
        .section        .text.post,"x"

 # Add padding so that target is just out of branch range.
diff --git a/gold/testsuite/arm_cortex_a8_b.s b/gold/testsuite/arm_cortex_a8_b.s
index d2316a0..c63b99e 100644
--- a/gold/testsuite/arm_cortex_a8_b.s
+++ b/gold/testsuite/arm_cortex_a8_b.s
@@ -28,3 +28,6 @@ _test:
        add.w   r0, r0, 0
        b.w     _func
        .size   _test,.-_test
+
+# Align stub table for address matching.
+       .align  12
diff --git a/gold/testsuite/arm_cortex_a8_b_cond.s
b/gold/testsuite/arm_cortex_a8_b_cond.s
index a244aa7..d52f970 100644
--- a/gold/testsuite/arm_cortex_a8_b_cond.s
+++ b/gold/testsuite/arm_cortex_a8_b_cond.s
@@ -28,3 +28,6 @@ _test:
        add.w   r0, r0, 0
        beq.w   _func
        .size   _test,.-_test
+
+# Align stub table for address matching.
+       .align  12
diff --git a/gold/testsuite/arm_cortex_a8_bl.s
b/gold/testsuite/arm_cortex_a8_bl.s
index c78fa8d..d7b0fa6 100644
--- a/gold/testsuite/arm_cortex_a8_bl.s
+++ b/gold/testsuite/arm_cortex_a8_bl.s
@@ -28,3 +28,6 @@ _test:
        add.w   r0, r0, 0
        bl      _func
        .size   _test,.-_test
+
+# Align stub table for address matching.
+       .align  12
diff --git a/gold/testsuite/arm_cortex_a8_blx.s
b/gold/testsuite/arm_cortex_a8_blx.s
index c323d25..076e7c2 100644
--- a/gold/testsuite/arm_cortex_a8_blx.s
+++ b/gold/testsuite/arm_cortex_a8_blx.s
@@ -30,4 +30,9 @@ _test:

 # We have no mapping symbols for stubs.  This make the disassembler
 # list the stub correctly in ARM mode.
+       .align  2
        .arm
+
+# Align stub table for address matching.
+       .align  12
+
diff --git a/gold/testsuite/arm_cortex_a8_local.s
b/gold/testsuite/arm_cortex_a8_local.s
index 462aa18..4ff2894 100644
--- a/gold/testsuite/arm_cortex_a8_local.s
+++ b/gold/testsuite/arm_cortex_a8_local.s
@@ -27,3 +27,6 @@ _test:
        add.w   r0, r0, 0
        bpl.w   .Lfunc
        .size   _test,.-_test
+
+# Align stub table for address matching.
+       .align  12
diff --git a/gold/testsuite/arm_fix_v4bx.s b/gold/testsuite/arm_fix_v4bx.s
index fc3aa2a..9d221f6 100644
--- a/gold/testsuite/arm_fix_v4bx.s
+++ b/gold/testsuite/arm_fix_v4bx.s
@@ -13,3 +13,6 @@ _start:
        bx      r0
        bx      r15
        .size   _start, .-_start
+
+# Align this to 256-byte boundary for easier address matching.
+       .align  8
diff --git a/gold/testsuite/arm_unaligned_reloc.s
b/gold/testsuite/arm_unaligned_reloc.s
index 7677bff..f85297c 100644
--- a/gold/testsuite/arm_unaligned_reloc.s
+++ b/gold/testsuite/arm_unaligned_reloc.s
@@ -15,7 +15,7 @@ x:
        .word   1

        .section        .data.1,"aw",%progbits
-       .align  2
+       .align  12

 # This causes following relocations to be unaligned.
        .global padding
diff --git a/gold/testsuite/thumb_bl_out_of_range.s
b/gold/testsuite/thumb_bl_out_of_range.s
index d0906d9..fa7342d 100644
--- a/gold/testsuite/thumb_bl_out_of_range.s
+++ b/gold/testsuite/thumb_bl_out_of_range.s
@@ -45,8 +45,11 @@ _forward_test:
        .size   _forward_test, .-_forward_test

 # switch back to ARM mode so that stubs are disassembled correctly.
+       .align  2
        .code   32
-       nop
+
+# Align stub table for address matching.
+       .align  8

        .section        .text.post,"x"

diff --git a/gold/testsuite/thumb_bl_out_of_range_local.s
b/gold/testsuite/thumb_bl_out_of_range_local.s
index 48de1e1..f477d62 100644
--- a/gold/testsuite/thumb_bl_out_of_range_local.s
+++ b/gold/testsuite/thumb_bl_out_of_range_local.s
@@ -45,8 +45,11 @@ _forward_test:
        .size   _forward_test, .-_forward_test

 # Switch back to ARM mode so that we can see stubs
+        .align  2
        .code   32
-       nop
+
+# Align stub table for address matching.
+        .align  8

        .section        .text.post,"x"

diff --git a/gold/testsuite/thumb_blx_out_of_range.s
b/gold/testsuite/thumb_blx_out_of_range.s
index c4f87e0..2dfbf06 100644
--- a/gold/testsuite/thumb_blx_out_of_range.s
+++ b/gold/testsuite/thumb_blx_out_of_range.s
@@ -50,9 +50,12 @@ _forward_test:
        .size   _forward_test, .-_forward_test

 # switch back to ARM mode so that stubs are disassembled correctly.
+       .align  2
        .code   32
-       nop

+# Align stub table for address matching.
+        .align  8
+
        .section        .text.post,"x"

 # Add padding so that target is just out of branch range.
-- 
2.4.3.573.g4eafbef


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]