diff options
author | Doug Kwan <dougkwan@google.com> | 2010-09-08 23:54:51 +0000 |
---|---|---|
committer | Doug Kwan <dougkwan@google.com> | 2010-09-08 23:54:51 +0000 |
commit | aa98ff75dd6197c120e5c962048a71d9c9626e08 (patch) | |
tree | 2aad2bdf3900143fcfe75bd413a0d0462a9dd76d /gold/testsuite/arm_cortex_a8_blx.s | |
parent | 5e1617b13f13c2de52e23a947ef85bcdb99a5b05 (diff) | |
download | ppe42-binutils-aa98ff75dd6197c120e5c962048a71d9c9626e08.tar.gz ppe42-binutils-aa98ff75dd6197c120e5c962048a71d9c9626e08.zip |
2010-09-08 Doug Kwan <dougkwan@google.com>
* arm.cc (Arm_exidx_cantunwind::do_print_to_mapfile): New method.
(Arm_relobj::do_relocate_sections): Add new parameter for output
file to match the parent.
(Target_arm::scan_reloc_section_for_stubs): Use would-be final values
of local symbols instead of input values. Update code to track
changes in gold::relocate_section.
* object.cc (Sized_relobj::compute_final_local_value): New methods.
(Sized_relobj::compute_final_local_value_internal): New methods.
(Sized_relobj::do_finalize_local_symbols): Move code from loop
body into private version of Sized_relobj::compute_final_local_value.
Call the inline method.
* object.h (Symbol_value::Symbol_value): Define destructor. Free
merged symbol value if there is one.
(Symbol_value::has_output_value): New method defintiion.
(Sized_relobj::Compute_final_local_value_status): New enum type.
(Sized_relobj::compute_final_local_value): New methods.
(Sized_relobj::compute_final_local_value_internal): New methods.
* Makefile.am (check_SCRIPTS): Add arm_branch_out_of_range.sh
and arm_cortex_a8.sh.
(thumb_bl_out_of_range_local, arm_cortex_a8_b_cond, arm_cortex_a8_bl,
arm_cortex_a8_blx, arm_cortex_a8_local, arm_corte_a8_local_reloc):
New tests.
* Makefile.in: Regenerate.
* testsuite/arm_bl_out_of_range.s: Update test.
* testsuite/thumb_bl_out_of_range.s: Ditto.
* testsuite/thumb_blx_out_of_range.s: Ditto.
* testsuite/arm_branch_out_of_range.sh: New file.
* testsuite/arm_cortex_a8.sh: Ditto.
* testsuite/arm_cortex_a8_b.s: Ditto.
* testsuite/arm_cortex_a8_b_cond.s: Ditto.
* testsuite/arm_cortex_a8_b_local.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_cortex_a8_local_reloc.s: Ditto.
* testsuite/thumb_bl_out_of_range_local.s: Ditto.
Diffstat (limited to 'gold/testsuite/arm_cortex_a8_blx.s')
-rw-r--r-- | gold/testsuite/arm_cortex_a8_blx.s | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gold/testsuite/arm_cortex_a8_blx.s b/gold/testsuite/arm_cortex_a8_blx.s new file mode 100644 index 0000000000..c323d25095 --- /dev/null +++ b/gold/testsuite/arm_cortex_a8_blx.s @@ -0,0 +1,33 @@ + .syntax unified + .cpu cortex-a8 + + .text + .align 12 + +_start: + .type _start,%function + bx lr + .size _start,.-_start + + .align 8 + .global _func + .type _func,%function +_func: + bx lr + .size _func,.-_func + + .align 11 + .space 2042 + + .align 1 + .thumb + .global _test + .type _test,%function +_test: + add.w r0, r0, 0 + blx _func + .size _test,.-_test + +# We have no mapping symbols for stubs. This make the disassembler +# list the stub correctly in ARM mode. + .arm |