x86: don't use operand size override with NOP in 16-bit code

Since we don't key the NOP selection to user-controlled properties, we
may not use i386 features; otherwise we would violate a possible .arch
directive restricting ISA to pre-386.
This commit is contained in:
Jan Beulich 2023-10-23 10:30:55 +02:00
parent d164359dbc
commit 5e0729b655
4 changed files with 12 additions and 11 deletions

View file

@ -1291,6 +1291,7 @@ static const unsigned char f64_7[] =
#define f64_8 (f64_9 + 1) /* lea 0L(%rsi,%riz),%rsi */
static const unsigned char f64_9[] =
{0x2e,0x48,0x8d,0xb4,0x26,0x00,0x00,0x00,0x00}; /* lea %cs:0L(%rsi,%riz),%rsi */
#define f16_2 (f64_3 + 1) /* mov %si,%si */
static const unsigned char f16_3[] =
{0x8d,0x74,0x00}; /* lea 0(%si),%si */
static const unsigned char f16_4[] =
@ -1311,7 +1312,7 @@ static const unsigned char *const f64_patt[] = {
};
/* 16-bit NOPs patterns. */
static const unsigned char *const f16_patt[] = {
f32_1, f32_2, f16_3, f16_4
f32_1, f16_2, f16_3, f16_4
};
/* nopl (%[re]ax) */
static const unsigned char alt_3[] =

View file

@ -26,7 +26,7 @@ Disassembly of section .text:
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
+[a-f0-9]+: 66 90 xchg %eax,%eax
+[a-f0-9]+: 89 f6 mov %si,%si
0+26 <pseudo_30>:
+[a-f0-9]+: eb 1c jmp 44 <pseudo_129>

View file

@ -55,7 +55,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+80 <nop27>:
[ ]*[a-f0-9]+: 90 nop
@ -118,7 +118,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+100 <nop23>:
[ ]*[a-f0-9]+: 90 nop
@ -193,7 +193,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+180 <nop19>:
[ ]*[a-f0-9]+: 90 nop
@ -280,7 +280,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+200 <nop15>:
[ ]*[a-f0-9]+: 90 nop
@ -315,7 +315,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: eb 0a jmp 240 <nop11>
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+240 <nop11>:
[ ]*[a-f0-9]+: 90 nop
@ -336,7 +336,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+260 <nop9>:
[ ]*[a-f0-9]+: 90 nop
@ -387,7 +387,7 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
0+2a0 <nop5>:
[ ]*[a-f0-9]+: 90 nop
@ -450,5 +450,5 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 90 nop
[ ]*[a-f0-9]+: 66 90 xchg %eax,%eax
[ ]*[a-f0-9]+: 89 f6 mov %si,%si
#pass

View file

@ -27,7 +27,7 @@ Disassembly of section .text:
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
+[a-f0-9]+: 8d b4 00 00 lea 0x0\(%si\),%si
+[a-f0-9]+: 66 90 xchg %eax,%eax
+[a-f0-9]+: 89 f6 mov %si,%si
0+26 <pseudo_30>:
+[a-f0-9]+: eb 1c jmp 44 <pseudo_129>