This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[gold][PATCH] Fix failing ARM tests
- From: Doug Kwan (éæå) <dougkwan at google dot com>
- To: binutils <binutils at sourceware dot org>
- Date: Mon, 29 Jun 2015 23:59:29 -0700
- Subject: [gold][PATCH] Fix failing ARM tests
- Authentication-results: sourceware.org; auth=none
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