On 7 March 2016 at 05:49, Ramana Radhakrishnan
<ramana....@googlemail.com> wrote:
> On Tue, Jan 26, 2016 at 2:42 PM, Christophe Lyon
> <christophe.l...@linaro.org> wrote:
>> Hi,
>>
>> This is a followup to PR63304.
>>
>> As discussed in bugzilla, this patch disables pcrelative_literal_loads
>> when -mfix-cortex-a53-843419 (or its default configure option) is
>> used.
>>
>> I copied the behavior of -mfix-cortex-a53-835769 (e.g. in
>> aarch64_can_inline_p), and I have tested by building the Linux kernel
>> using -mfix-cortex-a53-843419 and checked that
>> R_AARCH64_ADR_PREL_PG_HI21 relocations are not emitted anymore (under
>> CONFIG_ARM64_ERRATUM_843419).
>>
>> For reference, this is motivated by:
>> https://bugs.linaro.org/show_bug.cgi?id=1994
>
> I think we need a bug report for this in the GCC bugzilla targeting
> GCC 6 and have a reference to that in addition to PR63304 as this is
> broken behaviour in gcc trunk with respect to the erratum fixup.
OK, I have opened PR 70113.

>
> There are 2 solutions to this - one is to put out address constants in
> the large memory model with the mov / movk instruction sequences but
> then that wouldn't work with older released kernels and require
> changes to the kernel loader and the other being this where we turn on
> PC relative literal loads for the erratum fixup. I personally think
> that this solution is probably sensible during stage4 but I cannot
> approve changes to the AArch64 backend.
>
> The only question I have about this implementation in the sources
> based on a cursory look at the patch is whether this ends up working
> reliably with LTO ?
>
I haven't tested this case. Do you have any testcase in mind to convince
yourself & other maintainers?
Building the Linux kernel with LTO?


Thanks,

Christophe.

>
> regards
> Ramana
>
>> and further details on Launchpad:
>> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1533009
>>
>> OK for trunk?
>>
>> Thanks,
>>
>> Christophe.

Reply via email to