According to the December 2017 Intel SDM publication,
UD0 now has 2 operands by MODRM byte. So it's length should
be 3 bytes.

Signed-off-by: Masami Hiramatsu <mhira...@kernel.org>
Reported-by: kbuild test robot <fengguang...@intel.com>
---
 arch/x86/lib/x86-opcode-map.txt               |    3 ++-
 tools/objtool/arch/x86/lib/x86-opcode-map.txt |    3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index e0b85930dd77..131a76b3fa5e 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -607,7 +607,8 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
-ff: UD0
+# UD0 is special. This is changed in newer processor to have operands.
+ff: UD0 Gd,Ed
 EndTable
 
 Table: 3-byte opcode 1 (0x0f 0x38)
diff --git a/tools/objtool/arch/x86/lib/x86-opcode-map.txt 
b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
index e0b85930dd77..131a76b3fa5e 100644
--- a/tools/objtool/arch/x86/lib/x86-opcode-map.txt
+++ b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
@@ -607,7 +607,8 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
-ff: UD0
+# UD0 is special. This is changed in newer processor to have operands.
+ff: UD0 Gd,Ed
 EndTable
 
 Table: 3-byte opcode 1 (0x0f 0x38)

Reply via email to