GOLD Internal Error: PR 21090
Cary Coutant
ccoutant@gmail.com
Wed Feb 1 00:40:00 GMT 2017
> Would one of you mind taking a look at PR 21090:
>
> https://sourceware.org/bugzilla/show_bug.cgi?id=21090
>
> I have just posted an update to the PR showing how to reproduce an
> internal error in the x86_64 port of gold, but I am not sure how to
> proceed from here.
>
> If you have the time to look at the larger issue being reported by the
> PR (linker tests failing due to a pie enabled compiler) that would be
> awesome.
That seemed to be the only failure in the updated logs.
I've committed the attached patch to fix the problem, which was the
result of trying to convert to mov-to-lea conversion for a reference
to __ehdr_start, when the headers can't be mapped to a load segment.
In that case, __ehdr_start is defined during relocation scanning, and
we decide that the conversion is OK, but it is turned into an
undefined symbol later when we find that the headers can't be mapped
into a segment. As a result, we need a GOT entry, but one was never
created.
-cary
2017-01-31 Cary Coutant <ccoutant@gmail.com>
PR gold/21090
* x86_64.cc (Target_x86_64::can_convert_mov_to_lea): Add check
for predefined symbol.
(Target_x86_64::Relocate::relocate): Fix formatting.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr21090.patch
Type: application/octet-stream
Size: 1683 bytes
Desc: not available
URL: <https://sourceware.org/pipermail/binutils/attachments/20170201/4b186ee7/attachment.obj>
More information about the Binutils
mailing list