On 13/01/17 16:35, James Greenhalgh wrote:
On Wed, Jan 11, 2017 at 04:32:45PM +0000, Kyrill Tkachov wrote:
Hi all,
In this PR we generated ADRP/ADD instructions with :lo12: relocations on
symbols even though -mpc-relative-literal-loads is used. This is due to the
confusing double-negative logic of the nopcrelative_literal_loads aarch64
variable and its relation to the aarch64_nopcrelative_literal_loads global
variable in the GCC 6 branch.
Wilco fixed this on trunk as part of a larger patch (r237607) and parts of
that patch were backported, but other parts weren't and that patch now
doesn't apply cleanly to the branch.
As I commented to Jakub at the time he made the first partial backport,
I'd much rather just see all of Wilco's patch backported. We're not on
the verge of a 6 release now, so please just backport Wilco's patch (as
should have been done all along if this had been correctly identified as
a fix rather than a clean-up).
Unfortunately simply backporting the patch does not fix this PR.
The aarch64_classify_symbol changes do not have the desired effect
and the :lo12: relocations are generated.
I'll look into it, but I believe that would require a bigger change than this
one-liner.
Thanks,
Kyri
Thanks,
James