This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
Re: [PATCH v2] x86-64: always use unsigned 32-bit relocation for 32-bit addressing
- From: "H.J. Lu" <hjl dot tools at gmail dot com>
- To: Jan Beulich <JBeulich at suse dot com>
- Cc: Binutils <binutils at sourceware dot org>
- Date: Tue, 14 Nov 2017 08:52:51 -0800
- Subject: Re: [PATCH v2] x86-64: always use unsigned 32-bit relocation for 32-bit addressing
- Authentication-results: sourceware.org; auth=none
- References: <5A0B287E020000780018ECCC@prv-mh.provo.novell.com> <CAMe9rOpqJqpCZGb_4Va=K_YPtzfxLdJDqrj=X8iJgNVD2+pDyg@mail.gmail.com> <5A0B2B6C020000780018ECE2@prv-mh.provo.novell.com>
On Tue, Nov 14, 2017 at 8:44 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 14.11.17 at 17:38, <hjl.tools@gmail.com> wrote:
>> On Tue, Nov 14, 2017 at 8:31 AM, Jan Beulich <JBeulich@suse.com> wrote:
>>> Except for %eip-relative addressing, where we don't have a suitable
>>> relocation type silently wrapping at the 4G boundary, consistently
>>> force use of R_X86_64_32 (in ELF terms) instead of its sign-extending
>>> counterpart. This wasn't right in case there was no base register in
>>> the addressing expression.
>>
>> Please open a bug report with your testcase to show incorrect result.
>> I need to study it very carefully.
>
> I don't see why you need to study [edi*4+offs] when it simply
> doesn't behave the same as [edi+offs].
>
If your patch survives bootstrap/test GCC in x32 and build/test glibc in x32,
it is OK. Otherwise, please open a bug report.
Thanks.
--
H.J.