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
arm-app-abs32.s
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
arm-be8.s
arm-call1.s
arm-call2.s
arm-call.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 17:17:53 +00:00
arm-dyn.ld
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
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
arm-lib.r
arm-lib.s
arm-movwt.d
arm-movwt.s
arm-pic-veneer.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 17:17:53 +00:00
arm-pic-veneer.s
arm-rel31.d
arm-rel31.s
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
arm-static-app.s
arm-target1-abs.d
arm-target1-rel.d
arm-target1.s
arm-target2-abs.d
arm-target2-got-rel.d
arm-target2-rel.d
arm-target2.s
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
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
gc-unwind.s
group-relocs-alu-bad.d
group-relocs-alu-bad.s
group-relocs-ldc-bad.d
group-relocs-ldc-bad.s
group-relocs-ldr-bad.d
group-relocs-ldr-bad.s
group-relocs-ldrs-bad.d
group-relocs-ldrs-bad.s
group-relocs.d
group-relocs.s
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
mixed-app.s
mixed-app.sym
mixed-lib.d 2007-05-22 Paul Brook <paul@codesourcery.com> 2007-05-22 15:05:12 +00:00
mixed-lib.r
mixed-lib.s
mixed-lib.sym
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
thumb1-bl.d
thumb1-bl.s
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
thumb2-bl.s
thumb-entry.d
thumb-entry.s
thumb-rel32.d
thumb-rel32.s
tls-app.d
tls-app.r
tls-app.s
tls-lib.d
tls-lib.r
tls-lib.s
use-thumb-lib.s
use-thumb-lib.sym
vfp11-fix-none.d
vfp11-fix-none.s * ld-arm/arm-elf.exp: Add VFP11 tests. 2007-01-29 16:27:34 +00:00
vfp11-fix-scalar.d
vfp11-fix-scalar.s
vfp11-fix-vector.d
vfp11-fix-vector.s
vxworks1-lib.dd bfd/ 2007-05-10 17:00:03 +00:00
vxworks1-lib.nd
vxworks1-lib.rd ld/testsuite/ 2007-05-15 12:22:34 +00:00
vxworks1-lib.s
vxworks1-lib.td ld/testsuite/ 2007-05-15 12:22:34 +00:00
vxworks1-static.d
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
vxworks1.s
vxworks2-static.sd
vxworks2.s
vxworks2.sd