From 15162befa3ac493c781c126ad49cb20eac053618 Mon Sep 17 00:00:00 2001 From: Doug Kwan Date: Mon, 6 Jul 2015 15:02:40 -0700 Subject: [PATCH] Align text section ends so that stub tables appears at expected addresses. --- 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 4b5b860687b..57468bedc60 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,3 +1,18 @@ +2015-06-29 Doug Kwan + + * 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 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 cb5ff53556b..8ee338a0a07 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 d2316a073e5..c63b99e8c61 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 a244aa70300..d52f970dbd4 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 c78fa8d8481..d7b0fa62eed 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 c323d25095e..076e7c23d86 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 462aa18265b..4ff2894a729 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 fc3aa2a852e..9d221f6cf50 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 7677bff3733..f85297ca454 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 d0906d9d5ce..fa7342d4da6 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 48de1e14206..f477d62ad90 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 c4f87e0f038..2dfbf06b631 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.30.2