[PATCH] Enable use of ARMv5t BLX for Thumb-mode calls via PLT

Nick Clifton nickc@redhat.com
Fri Apr 15 10:51:00 GMT 2005


Hi Julian,

> bfd:
>   * bfd-in.h (bfd_elf32_arm_set_target_relocs): Update prototype.
>   * bfd-in2.h: Regenerate.
>   * elf32-arm.c (elf32_arm_link_hash_table): New field, 'use_blx'.
>   (elf32_arm_link_hash_table_create): Initialise fix_v4bx, use_blx.
>   (bfd_elf32_arm_set_target_relocs): Handle use_blx.
>   (elf32_arm_final_link_relocate): Use Thumb BLX for R_ARM_THM_PC22
>   relocations if requested to.
>   (allocate_dynrelocs): Don't count size of omitted Thumb stubs based on
>   use_blx rather than symbian_p.
>   (elf32_arm_finish_dynamic_symbol): Don't output Thumb PLT stubs if
>   use_blx is in effect.
>   (elf32_arm_symbian_link_hash_table_create): Enable use_blx by default
>   for SymbianOS.
> 
> ld:
>   * ld.texinfo: Document --use-blx.
>   * emultempl/armelf.em (use_blx): New variable.
>   (arm_elf_create_output_section_statements): Communicate value of
>   use_blx to bfd.
>   (PARSE_AND_LIST_PROLOGUE): Add OPTION_USE_BLX.
>   (PARSE_AND_LIST_OPTIONS): Add --use-blx option.
>   (PARSE_AND_LIST_ARGS_CASES): Add OPTION_USE_BLX case.

Approved - please apply.

Cheers
   Nick



More information about the Binutils mailing list