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

H.J. Lu hjl.tools@gmail.com
Tue Nov 14 16:52:00 GMT 2017


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.



More information about the Binutils mailing list