This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [RFC PATCH, binutils, ARM 1/11, ping] Refactor Cortex-A8 erratum workaround in preparation
- From: Nick Clifton <nickc at redhat dot com>
- To: Thomas Preudhomme <thomas dot preudhomme at foss dot arm dot com>
- Cc: binutils at sourceware dot org
- Date: Mon, 9 May 2016 12:58:54 +0100
- Subject: Re: [RFC PATCH, binutils, ARM 1/11, ping] Refactor Cortex-A8 erratum workaround in preparation
- Authentication-results: sourceware.org; auth=none
- References: <004701d13d57$232dd3b0$69897b10$ at foss dot arm dot com> <6918960 dot n93FkyLN4K at e108577-lin> <56FBDB89 dot 1060104 at redhat dot com> <19765736 dot fSEtTK2YJf at e108577-lin>
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