[PATCH, binutils/ARM] Reduce parameter list in bfd_elf32_arm_target_relocs

Thomas Preudhomme thomas.preudhomme@foss.arm.com
Fri Aug 26 11:19:00 GMT 2016


Hi,

As pointed out by Richard Earnshaw in [1], bfd_elf32_arm_target_relocs now takes 
15 parameters. This commit creates a new structure to contain all of them but 
the bfd and bfd_link_info values and adapt the function to take that structure 
as parameter instead. While doing so, the function is renamed to 
bfd_elf32_arm_target_params to reflect that the settings affect more than just 
relocation.

[1] https://sourceware.org/ml/binutils/2016-07/msg00099.html

ChangeLog entries are as follow:

*** bfd/ChangeLog ***

2016-07-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>

         * bfd-in.h (struct elf32_arm_params): Define.
         (bfd_elf32_arm_set_target_relocs): Rename into ...
         (bfd_elf32_arm_set_target_params): This.  Use a struct
         elf32_arm_params to pass all parameters but the bfd and bfd_link_info.
         * bfd-in2.h: Regenerate.
         * elf32-arm.c (bfd_elf32_arm_set_target_relocs): Rename into ...
         (bfd_elf32_arm_set_target_params): This.  Pass all values via a struct
         elf32_arm_params rather than as individual parameters.


*** ld/ChangeLog ***

2016-08-18  Thomas Preud'homme  <thomas.preudhomme@arm.com>

         * emultempl/armelf.em (params): New static variable.
         (thumb_entry_symbol, byteswap_code, target1_is_rel, target2_type,
         fix_v4bx, use_blx, vfp11_denorm_fix, stm32l4xx_fix, fix_cortex_a8,
         no_enum_size_warning, no_wchar_size_warning, pic_veneer,
         merge_exidx_entries, fix_arm1176, cmse_implib): move as part of the
         above new structure.
         (arm_elf_before_allocation): Access static variable from the params
         structure.
         (gld${EMULATION_NAME}_finish): Likewise.
         (arm_elf_create_output_section_statements): Likewise and pass the
         address of that structure to bfd_elf32_arm_set_target_relocs instead
         of the static variables.
         (PARSE_AND_LIST_ARGS_CASES): Access static variable from the params
         structure.


binutils build correctly after the change and testsuite shows no regression for 
arm-none-eabi targets.

Is this ok for master branch?

Best regards,

Thomas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reduce_arm_target_relocs_param_list.patch
Type: text/x-patch
Size: 13447 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20160826/e9dcdb52/attachment.bin>


More information about the Binutils mailing list