[PATCH 3/5] x86: widen @got{,pcrel} support to PUSH and APX IMUL
Jan Beulich
jbeulich@suse.com
Tue Feb 4 10:14:51 GMT 2025
On 03.02.2025 23:40, H.J. Lu wrote:
> On Mon, Feb 3, 2025 at 7:41 PM Jan Beulich <jbeulich@suse.com> wrote:
>> --- /dev/null
>> +++ b/ld/testsuite/ld-i386/load8a.d
>> @@ -0,0 +1,14 @@
>> +#source: load8.s
>> +#as: --32 -mrelax-relocations=yes
>> +#ld: -melf_i386 -z noseparate-code
>> +#objdump: -dw
>> +
>> +.*: +file format .*
>> +
>> +Disassembly of section .text:
>> +
>> +0+8048074 <_start>:
>> +[ ]*[a-f0-9]+: 26 68 86 90 04 08 es push \$0x8049086
>> +[ ]*[a-f0-9]+: 26 68 87 90 04 08 es push \$0x8049087
>> +[ ]*[a-f0-9]+: 26 68 87 90 04 08 es push \$0x8049087
>
> Please avoid adding the es prefix. It may not be nop in the future.
Constructive comments please. What other prefix do you suggest we use?
Is another of the segment overrides okay? If not, all that's left is an
address size override, if I'm not mistaken. Which overall seems less
desirable to use.
Plus - is your concern only about 32-bit code, or also about 64-bit? For
32-bit code in particular I'm having difficulty seeing why an ES
prefix might gain new meaning going forward, when an increasing number
of ISA extensions are for 64-bit mode only anyway. If the concern
extends to 64-bit code (it shouldn't, as the pre-386 segment overrides
are documented as nop prefixes, if I'm not mistaken), earlier changes
would need adjusting then, too, I think.
Jan
More information about the Binutils
mailing list