[gold][aarch64] Patch for erratum-843419 (1 of 2 - report erratum occurrences)
Hán Shěn (沈涵)
shenhan@google.com
Thu Apr 16 22:33:00 GMT 2015
Hi Cary, thanks! (comments addressed and CL submitted)
Thanks,
Han
On Thu, Apr 16, 2015 at 2:37 PM, Cary Coutant <ccoutant@gmail.com> wrote:
>>> Given the constraints on the address, it's inefficient to loop over
>>> every address. I'd suggest instead something like this:
>>>
>>> if (output_address & 0x03 != 0)
>>
>> 'output_address' is output section's output_address, so I use
>> 'output_address + span_start' here.
>
> Alternatively, you could do "output_address += span_start" at the top
> of the function, or pass "output_address + span_start" where you call
> the function.
Done.
>
>>> return;
>>> section_size_type offset = 0;
>>> section_size_type span_length = span_end - span_start;
>>> // The first instruction must be at page offset 0xFF8 or 0xFFC.
>>> unsigned int page_offset = output_address & 0xfff;
>>
>> Same as above, 'output_address' is output section's output_address, so
>> I use 'output_address + span_start' here.
>> If there a consensus/guideline on whether to use '0xfff' or '0xFFF'?
>
> I find lots of both, but lower-case seems to predominate (I just find
> it easier to count upper-case F's in non-monospaced text like this
> email). Regardless, the 'x' should always be lower-case:
>
> + page_offset = (output_address + span_start + offset) & 0XFFF;
> + if (page_offset == 0XFF8)
> + offset += 4;
> + else // (page_offset == 0xffc), we move to next page's 0xff8.
> + offset += 0XFFC;
>
> I'd go with all lower-case (throughout this function).
Done with lower-case.
>
> This is OK with that change. Thanks!
>
> -cary
--
Han Shen
More information about the Binutils
mailing list