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: GOLD Internal Error: PR 21090


>   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.

Attachment: pr21090.patch
Description: Binary data


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