This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [COMMITTED][gold, aarch64] Skip ERRATUM 843419 fix if the sequences have been relaxed by TLS optimization
On Thu, Jun 15, 2017 at 3:27 AM, Jiong Wang <jiong.wang@foss.arm.com> wrote:
>>> Yup, let's change "return false;" -> "return true;" (and add proper
>>> comments).
>
>
> Thanks, done.
>
>>>
>>> Also, I assume this relaxation-changing-instructions behavior should
>>> not break erratum 835769?
>
>
> I think it won't break 835769.
>
> For 835769, it's LD/ST followed by multiply accumulation, this won't exist
> in TLS sequence if it's not allowed to be scheduled like in GCC. In LLVM,
> I am not sure.
> Given 835769 doesn't have the optimized shortcut like 843419, and there
> is no
> assertion inside it, so even if TLS sequence be scheduled that qualifies the
> erratum 835769 and the ld instruction relaxed (this do happen in some TLS
> model), the only consequence is we install unnecessary branch-to-stub.
Thanks for the explanation.
>
>>
>> This is OK with me (with Han's suggested changes). It doesn't look
>> like this is related to any outstanding PR, but if it is, please add
>> the PR number to the ChangeLog.
>
>
> Thanks.
>
> I committed attached patch with updated comments and minor tweak.
Thanks.
>
> gold/
> 2017-06-15 Jiong Wang <jiong.wang@arm.com>
>
> * aarch64.cc (Insn_utilities::is_mrs_tpidr_el0): New method.
> (AArch64_relobj<size,
> big_endian>::try_fix_erratum_843419_optimized):
> Return ture for some TLS relaxed sequences.
>
Han Shen