[PATCH v2] x86-64: always use unsigned 32-bit relocation for 32-bit addressing

Jan Beulich JBeulich@suse.com
Wed Nov 15 07:32:00 GMT 2017


>>> On 14.11.17 at 17:52, <hjl.tools@gmail.com> wrote:
> 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.

PR 22441

Jan



More information about the Binutils mailing list