RE: [PATCH] objtool: fix objtool regression on x32 systems

From: David Laight
Date: Tue May 17 2022 - 04:27:48 EST


From: Peter Zijlstra
> Sent: 16 May 2022 22:25
...
> A quick look seems to suggest at least all the 'offset' fields should be
> u64 or something. The only reason that works is because -mcmodel=kernel
> keeps everything in the 2G range to make s32 immediates work. But it
> isn't right.

Offsets in instructions are only 8bit or 32bit.
The mod/reg/rm and SiB encodings don't support anything else.
If offsets might be large then they have to be loaded into
registers - which will slow things down.

Immediates can be 64bit (but not if the addressing mode
includes an offset).

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)