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: [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


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