binutils-gdb/ld/testsuite/ld-arm
Nick Clifton 906e58cab5 bfd/
* elf32-arm.c (THM2_MAX_FWD_BRANCH_OFFSET): Define.
        (THM2_MAX_BWD_BRANCH_OFFSET): Define.
        (ARM_MAX_FWD_BRANCH_OFFSET): Define.
        (ARM_MAX_BWD_BRANCH_OFFSET): Define.
        (THM_MAX_FWD_BRANCH_OFFSET): Define.
        (THM_MAX_BWD_BRANCH_OFFSET): Define.
        (arm_long_branch_stub): Define.
        (arm_pic_long_branch_stub): Define.
        (arm_thumb_v4t_long_branch_stub): Define.
        (arm_thumb_thumb_long_branch_stub): Define.
        (arm_thumb_arm_v4t_long_branch_stub): Define.
        (STUB_SUFFIX): Define.
        (elf32_arm_stub_type): Define.
        (elf32_arm_stub_hash_entry): Define.
        (elf32_arm_link_hash_entry): Add stub_cache field.
        (arm_stub_hash_lookup): Define.
        (elf32_arm_link_hash_table): Add stub_hash_table, stub_bfd,
        add_stub_section, layout_sections_again, stub_group, bfd_count,
        top_index, input_list fields.
        (elf32_arm_link_hash_newfunc): Init new field.
        (stub_hash_newfunc): New function.
        (elf32_arm_link_hash_table_create): Init stub_hash_table.
        (elf32_arm_hash_table_free): New function.
        (arm_type_of_stub): New function.
        (elf32_arm_stub_name): New function.
        (elf32_arm_get_stub_entry): New function.
        (elf32_arm_stub_add_mapping_symbol): New function.
        (elf32_arm_add_stub): New function.
        (arm_build_one_stub): New function.
        (arm_size_one_stub): New function.
        (elf32_arm_setup_section_lists): New function.
        (elf32_arm_next_input_section): New function.
        (group_sections): New function.
        (elf32_arm_size_stubs): New function.
        (elf32_arm_build_stubs): New function.
        (bfd_elf32_arm_add_glue_sections_to_bfd): Skip stub sections.
        (bfd_elf32_arm_process_before_allocation): No longer handle
        R_ARM_CALL and R_ARM_THM_CALL.
        (using_thumb_only): New function.
        (elf32_arm_final_link_relocate): Redirect calls to stub if range
        exceeds encoding capabilities.
        (bfd_elf32_bfd_link_hash_table_free): Define.
        * bfd-in.h (R_ARM_max): Fix value to 130.
        (elf32_arm_setup_section_lists): Protype.
        (elf32_arm_next_input_section): Protype.
        (elf32_arm_size_stubs): Protype.
        (elf32_arm_build_stubs): Protype.

        ld/
        * emultempl/armelf.em (build_section_lists): New function.
        (stub_file): Define.
        (need_laying_out): Define.
        (group_size): Define.
        (hook_stub_info): Define.
        (hook_in_stub): New function.
        (elf32_arm_add_stub_section): New function.
        (gldarm_layout_sections_again): New function.
        (gld${EMULATION_NAME}_finish): Replace arm_elf_finish(). Generate
        stubs for long calls if needed.
        (arm_elf_create_output_section_statements): create stub_file bfd.
        (arm_for_each_input_file_wrapper): New function.
        (arm_lang_for_each_input_file): New function.
        (lang_for_each_input_file): Define.
        (PARSE_AND_LIST_PROLOGUE): Add option token OPTION_STUBGROUP_SIZE.
        (PARSE_AND_LIST_LONGOPTS): Add option stub-group-size.
        (PARSE_AND_LIST_OPTIONS): Add option stub-group-size.
        (PARSE_AND_LIST_ARGS_CASES): Add OPTION_STUBGROUP_SIZE case.
        (LDEMUL_FINISH): Update to gld${EMULATION_NAME}_finish.
        * ld/lang.c (print_input_statement): Skip if bfd has
        BFD_LINKER_CREATED.

        ld/testsuite
        * ld-arm/arm-elf.exp (armelftests): Add farcall-arm-arm,
        farcall-arm-arm-pic-veneer, farcall-arm-arm-be8 farcall-arm-thumb,
        farcall-arm-thumb-blx, farcall-arm-thumb-pic-veneer,
        farcall-arm-thumb-blx-pic-veneer, farcall-thumb-thumb,
        farcall-thumb-thumb-pic-veneer, farcall-thumb-thumb-blx,
        farcall-thumb-thumb-m, farcall-thumb-thumb-m-pic-veneer,
        farcall-thumb-thumb-blx-pic-veneer, farcall-thumb-arm,
        farcall-thumb-arm-pic-veneer, farcall-thumb-arm-blx,
        farcall-thumb-arm-blx-pic-veneer.
        Change thumb2-bl-as-thumb1-bad, thumb2-bl-bad.
        * ld-arm/thumb2-bl-as-thumb1-bad.d: Reflects farcall stub
        generation.
        * ld-arm/thumb2-bl-bad.d: Likewise.
        * ld-arm/thumb2-bl-as-thumb1-bad.s: Update comments.
        * ld-arm/thumb2-bl-bad.s: Likewise.
2008-05-15 17:00:15 +00:00
..
arm-app-abs32.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
arm-app-abs32.r bfd/ 2004-11-17 17:50:28 +00:00
arm-app-abs32.s * ld-arm/arm-app-abs32.s, ld-arm/arm-app-abs32.r, 2004-01-23 16:51:39 +00:00
arm-app-movw.s 2008-03-07 Paul Brook <paul@codesourcery.com> 2008-03-08 01:20:39 +00:00
arm-app.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
arm-app.r 2008-03-07 Paul Brook <paul@codesourcery.com> 2008-03-08 01:20:39 +00:00
arm-app.s
arm-be8.d 2006-05-15 Paul Brook <paul@codesourcery.com> 2006-05-15 19:57:35 +00:00
arm-be8.s 2006-05-15 Paul Brook <paul@codesourcery.com> 2006-05-15 19:57:35 +00:00
arm-call.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 17:17:53 +00:00
arm-call1.s 2005-12-12 Paul Brook <paul@codesourcery.com> 2005-12-12 17:03:40 +00:00
arm-call2.s 2005-12-12 Paul Brook <paul@codesourcery.com> 2005-12-12 17:03:40 +00:00
arm-dyn.ld * ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: Remove .stack. 2006-11-13 21:18:36 +00:00
arm-elf.exp bfd/ 2008-05-15 17:00:15 +00:00
arm-lib-plt32.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
arm-lib-plt32.r bfd/ 2004-11-17 17:50:28 +00:00
arm-lib-plt32.s
arm-lib.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
arm-lib.ld * ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: Remove .stack. 2006-11-13 21:18:36 +00:00
arm-lib.r bfd/ 2004-11-17 17:50:28 +00:00
arm-lib.s
arm-movwt.d 2006-05-11 Paul Brook <paul@codesourcery.com> 2006-05-11 15:17:34 +00:00
arm-movwt.s 2006-05-11 Paul Brook <paul@codesourcery.com> 2006-05-11 15:17:34 +00:00
arm-pic-veneer.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 17:17:53 +00:00
arm-pic-veneer.s 2007-03-20 Paul Brook <paul@codesourcery.com> 2007-03-20 20:19:07 +00:00
arm-rel31.d 2005-10-08 Paul Brook <paul@codesourcery.com> 2005-10-08 17:07:19 +00:00
arm-rel31.s bfd/ 2004-09-17 12:18:19 +00:00
arm-static-app.d * ld-arm/arm-app-abs32.d: Convert to unified syntax. 2007-04-21 19:44:40 +00:00
arm-static-app.r bfd/ 2004-11-17 17:50:28 +00:00
arm-static-app.s * ld-arm/arm-elf.exp: Add arm-static-app test. 2004-01-13 21:09:18 +00:00
arm-target1-abs.d 2005-10-08 Paul Brook <paul@codesourcery.com> 2005-10-08 17:07:19 +00:00
arm-target1-rel.d 2005-10-08 Paul Brook <paul@codesourcery.com> 2005-10-08 17:07:19 +00:00
arm-target1.s bfd/ 2004-09-17 12:18:19 +00:00
arm-target2-abs.d 2005-10-08 Paul Brook <paul@codesourcery.com> 2005-10-08 17:07:19 +00:00
arm-target2-got-rel.d 2005-10-08 Paul Brook <paul@codesourcery.com> 2005-10-08 17:07:19 +00:00
arm-target2-rel.d 2005-10-08 Paul Brook <paul@codesourcery.com> 2005-10-08 17:07:19 +00:00
arm-target2.s bfd/ 2004-09-17 12:18:19 +00:00
arm.ld 2008-02-20 Paul Brook <paul@codesourcery.com> 2008-02-20 15:17:56 +00:00
armthumb-lib.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
armthumb-lib.sym * ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: Remove .stack. 2006-11-13 21:18:36 +00:00
armv4-bx.d 2008-02-20 Paul Brook <paul@codesourcery.com> 2008-02-20 15:17:56 +00:00
armv4-bx.s 2008-02-20 Paul Brook <paul@codesourcery.com> 2008-02-20 15:17:56 +00:00
attr-merge-2.attr bfd: 2007-07-03 15:21:30 +00:00
attr-merge-2a.s bfd: 2007-07-03 15:21:30 +00:00
attr-merge-2b.s bfd: 2007-07-03 15:21:30 +00:00
attr-merge.attr bfd: 2007-06-26 13:55:04 +00:00
attr-merge.s bfd: 2007-06-26 13:55:04 +00:00
callweak.d 2007-06-29 Paul Brook <paul@codesourcery.com> 2007-07-25 14:39:48 +00:00
callweak.s 2007-06-29 Paul Brook <paul@codesourcery.com> 2007-07-25 14:39:48 +00:00
emit-relocs1-vxworks.d binutils/ 2007-05-21 06:36:01 +00:00
emit-relocs1.d binutils/ 2007-05-21 06:36:01 +00:00
emit-relocs1.s binutils/ 2007-05-21 06:36:01 +00:00
farcall-arm-arm-be8.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-arm-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-arm.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-arm.s bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-thumb-blx-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-thumb-blx.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-thumb-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-thumb.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-arm-thumb.s bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-arm-blx-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-arm-blx.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-arm-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-arm.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-arm.s bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb-blx-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb-blx.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb-m-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb-m.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb-pic-veneer.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb.d bfd/ 2008-05-15 17:00:15 +00:00
farcall-thumb-thumb.s bfd/ 2008-05-15 17:00:15 +00:00
gc-unwind.d 2007-02-22 Paul Brook <paul@codesourcery.com> 2007-02-22 17:03:59 +00:00
gc-unwind.s 2007-02-22 Paul Brook <paul@codesourcery.com> 2007-02-22 17:03:59 +00:00
group-relocs-alu-bad.d * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-alu-bad.s * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-ldc-bad.d * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-ldc-bad.s * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-ldr-bad.d * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-ldr-bad.s * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-ldrs-bad.d * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs-ldrs-bad.s * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs.d * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
group-relocs.s * include/elf/arm.h: Correct names of R_ARM_LDC_G{0,1,2} 2006-06-15 11:03:02 +00:00
jump19.d bfd/ 2007-05-15 09:54:09 +00:00
jump19.s bfd/ 2007-05-15 09:54:09 +00:00
mixed-app-v5.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
mixed-app.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
mixed-app.r 2005-12-12 Paul Brook <paul@codesourcery.com> 2005-12-12 17:03:40 +00:00
mixed-app.s bfd/ 2004-11-17 17:50:28 +00:00
mixed-app.sym * ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: Remove .stack. 2006-11-13 21:18:36 +00:00
mixed-lib.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
mixed-lib.r bfd/ 2004-11-17 17:50:28 +00:00
mixed-lib.s bfd/ 2004-11-17 17:50:28 +00:00
mixed-lib.sym * ld-arm/arm-dyn.ld, ld-arm/arm-lib.ld: Remove .stack. 2006-11-13 21:18:36 +00:00
movw-merge.d 2008-03-07 Paul Brook <paul@codesourcery.com> 2008-03-08 01:20:39 +00:00
movw-merge.s 2008-03-07 Paul Brook <paul@codesourcery.com> 2008-03-08 01:20:39 +00:00
preempt-app.s 2007-04-17 Paul Brook <paul@codesourcery.com> 2007-04-17 20:09:52 +00:00
preempt-app.sym 2007-04-17 Paul Brook <paul@codesourcery.com> 2007-04-17 20:09:52 +00:00
symbian-seg1.d * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound) 2008-04-29 11:53:45 +00:00
symbian-seg1.s * elf.c (_bfd_elf_get_dynamic_reloc_upper_bound) 2008-04-29 11:53:45 +00:00
thumb-entry.d 2006-02-07 Paul Brook <paul@codesourcery.com> 2006-02-07 03:50:20 +00:00
thumb-entry.s 2006-02-07 Paul Brook <paul@codesourcery.com> 2006-02-07 03:50:20 +00:00
thumb-rel32.d 2006-05-02 Paul Brook <paul@codesourcery.com> 2006-05-02 13:09:18 +00:00
thumb-rel32.s 2006-05-02 Paul Brook <paul@codesourcery.com> 2006-05-02 13:09:18 +00:00
thumb1-bl.d bfd/ 2006-10-17 15:46:21 +00:00
thumb1-bl.s bfd/ 2006-10-17 15:46:21 +00:00
thumb2-b-interwork.d 2008-03-08 Paul Brook <paul@codesourcery.com> 2008-03-08 14:58:14 +00:00
thumb2-b-interwork.s 2008-03-08 Paul Brook <paul@codesourcery.com> 2008-03-08 14:58:14 +00:00
thumb2-bl-as-thumb1-bad.d bfd/ 2008-05-15 17:00:15 +00:00
thumb2-bl-as-thumb1-bad.s bfd/ 2008-05-15 17:00:15 +00:00
thumb2-bl-bad.d bfd/ 2008-05-15 17:00:15 +00:00
thumb2-bl-bad.s bfd/ 2008-05-15 17:00:15 +00:00
thumb2-bl.d bfd/ 2006-10-17 15:46:21 +00:00
thumb2-bl.s bfd/ 2006-10-17 15:46:21 +00:00
tls-app.d opcodes/ 2006-11-22 17:45:57 +00:00
tls-app.r Adjust for dynamic sym changes. 2005-08-15 15:39:48 +00:00
tls-app.s bfd/ 2005-03-29 16:54:22 +00:00
tls-lib.d opcodes/ 2006-11-22 17:45:57 +00:00
tls-lib.r * ld-arm/mixed-app.sym: Expact _stack to be in the ABS section. 2005-08-08 15:52:54 +00:00
tls-lib.s bfd/ 2005-03-29 16:54:22 +00:00
use-thumb-lib.s 2006-06-19 Vladimir Prus <vladimir@codesourcery.com> 2006-06-20 13:55:08 +00:00
use-thumb-lib.sym * ld-arm/use-thumb-lib.sym: Robustify, by ignoring symbols we're 2006-10-02 17:10:56 +00:00
vfp11-fix-none.d * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vfp11-fix-none.s * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vfp11-fix-scalar.d * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vfp11-fix-scalar.s * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vfp11-fix-vector.d * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vfp11-fix-vector.s * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vxworks1-lib.dd bfd/ 2007-05-10 17:00:03 +00:00
vxworks1-lib.nd bfd/ 2006-03-07 08:39:21 +00:00
vxworks1-lib.rd ld/testsuite/ 2007-05-15 12:22:34 +00:00
vxworks1-lib.s bfd/ 2006-03-07 08:39:21 +00:00
vxworks1-lib.td ld/testsuite/ 2007-05-15 12:22:34 +00:00
vxworks1-static.d bfd/ 2006-03-07 08:39:21 +00:00
vxworks1.dd binutils/ 2007-05-21 06:36:01 +00:00
vxworks1.ld ld/testsuite/ 2007-05-15 12:22:34 +00:00
vxworks1.rd bfd/ 2006-03-07 08:39:21 +00:00
vxworks1.s bfd/ 2006-03-07 08:39:21 +00:00
vxworks2-static.sd bfd/ 2006-03-07 08:39:21 +00:00
vxworks2.s bfd/ 2006-03-07 08:39:21 +00:00
vxworks2.sd bfd/ 2006-03-07 08:39:21 +00:00