This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFC PATCH, binutils, ARM 1/11, ping] Refactor Cortex-A8 erratum workaround in preparation


Hi Thomas,


> 2016-04-11  Thomas Preud'homme  <thomas.preudhomme@arm.com>
> 
>         * elf32-arm.c (enum elf32_arm_stub_type): Delete
>         arm_stub_a8_veneer_lwm enumerator.
>         (arm_stub_a8_veneer_lwm): New unsigned constant to replace
>         aforementioned enumerator.
>         (struct elf32_arm_stub_hash_entry): Delete target_addend
>         field and add source_value.
>         (struct a8_erratum_fix): Delete addend field and add target_offset.
>         (stub_hash_newfunc): Initialize source_value field amd remove
>         initialization for target_addend.
>         (arm_build_one_stub): Stop special casing Thumb relocations: promote
>         the else to being always executed, moving the
>         arm_stub_a8_veneer_b_cond specific code in it.  Remove
>         stub_entry->target_addend from points_to computation.
>         (cortex_a8_erratum_scan): Store in a8_erratum_fix structure the offset
>         to target symbol from start of section rather than the offset from the
>         stub address.
>         (elf32_arm_size_stubs): Set stub_entry's source_value and target_value
>         fields from struct a8_erratum_fix's offset and target_offset
>         respectively.
>         (make_branch_to_a8_stub): Rename target variable to loc.  Compute
>         veneered_insn_loc and loc using stub_entry's source_value.
 
Approved - please apply.

Cheers
  Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]