* arch/x86/tools/insn_decoder_test: warning: ffffffff810005de: 0f ff e8 ud0 %eax,%ebp
@ 2018-02-07 6:15 kbuild test robot
2018-02-08 15:17 ` [PATCH] x86/decoder: Update UD0 to have operands Masami Hiramatsu
0 siblings, 1 reply; 4+ messages in thread
From: kbuild test robot @ 2018-02-07 6:15 UTC (permalink / raw)
To: Masami Hiramatsu; +Cc: kbuild-all, linux-kernel, Ingo Molnar
[-- Attachment #1: Type: text/plain, Size: 11156 bytes --]
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: ab2d92ad881da11331280aedf612d82e61cb6d41
commit: 10c91577d5e631773a6394e14cf60125389b71ae x86/tools: Standardize output format of insn_decode_test
date: 8 weeks ago
config: x86_64-randconfig-s3-02070914 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
git checkout 10c91577d5e631773a6394e14cf60125389b71ae
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
>> arch/x86/tools/insn_decoder_test: warning: ffffffff810005de: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810010d7: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81001152: 0f ff bf 09 00 00 00 ud0 0x9(%rdi),%edi
arch/x86/tools/insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81001275: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810019b2: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81001afc: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81001c23: 0f ff e9 ud0 %ecx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81002502: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff8100267e: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810028a0: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81002a94: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81002b17: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81002e20: 0f ff 83 cd 01 e8 17 ud0 0x17e801cd(%rbx),%eax
arch/x86/tools/insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81002eea: 0f ff e9 ud0 %ecx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81003e27: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81003e3b: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81003e5a: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81004d85: 0f ff 41 83 ud0 -0x7d(%rcx),%eax
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81004dd2: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81005469: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810057ab: 0f ff c3 ud0 %ebx,%eax
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81006694: 0f ff 83 cb 01 e8 a3 ud0 -0x5c17fe35(%rbx),%eax
arch/x86/tools/insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81006c3a: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81006c55: 0f ff e8 ud0 %eax,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff8100740d: 0f ff 48 8b ud0 -0x75(%rax),%ecx
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810074d3: 0f ff 80 bd c4 11 00 ud0 0x11c4bd(%rax),%eax
arch/x86/tools/insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810074fb: 0f ff 83 c8 ff 89 c2 ud0 -0x3d760038(%rbx),%eax
arch/x86/tools/insn_decoder_test: warning: objdump says 7 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff8100750c: 0f ff eb ud0 %ebx,%ebp
arch/x86/tools/insn_decoder_test: warning: objdump says 3 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81007e68: 0f ff 65 48 ud0 0x48(%rbp),%esp
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810081da: 0f ff 65 4c ud0 0x4c(%rbp),%esp
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810085a1: 0f ff 48 83 ud0 -0x7d(%rax),%ecx
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff810089bd: 0f ff 48 81 ud0 -0x7f(%rax),%ecx
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81009a12: 0f ff 58 5a ud0 0x5a(%rax),%ebx
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
arch/x86/tools/insn_decoder_test: warning: Found an x86 instruction decoder bug, please report this.
arch/x86/tools/insn_decoder_test: warning: ffffffff81009e20: 0f ff 65 8a ud0 -0x76(%rbp),%esp
arch/x86/tools/insn_decoder_test: warning: objdump says 4 bytes, but insn_get_length() says 2
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 24339 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] x86/decoder: Update UD0 to have operands
2018-02-07 6:15 arch/x86/tools/insn_decoder_test: warning: ffffffff810005de: 0f ff e8 ud0 %eax,%ebp kbuild test robot
@ 2018-02-08 15:17 ` Masami Hiramatsu
2018-02-10 19:26 ` kbuild test robot
0 siblings, 1 reply; 4+ messages in thread
From: Masami Hiramatsu @ 2018-02-08 15:17 UTC (permalink / raw)
To: Ingo Molnar; +Cc: mhiramat, linux-kernel, Thomas Gleixner, H . Peter Anvin, x86
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 <mhiramat@kernel.org>
Reported-by: kbuild test robot <fengguang.wu@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)
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] x86/decoder: Update UD0 to have operands
2018-02-08 15:17 ` [PATCH] x86/decoder: Update UD0 to have operands Masami Hiramatsu
@ 2018-02-10 19:26 ` kbuild test robot
2018-02-12 16:34 ` Masami Hiramatsu
0 siblings, 1 reply; 4+ messages in thread
From: kbuild test robot @ 2018-02-10 19:26 UTC (permalink / raw)
To: Masami Hiramatsu
Cc: kbuild-all, Ingo Molnar, mhiramat, linux-kernel, Thomas Gleixner,
H . Peter Anvin, x86
[-- Attachment #1: Type: text/plain, Size: 2116 bytes --]
Hi Masami,
I love your patch! Perhaps something to improve:
[auto build test WARNING on tip/auto-latest]
[also build test WARNING on v4.15 next-20180209]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/x86-decoder-Update-UD0-to-have-operands/20180211-013327
config: x86_64-acpi-redef (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
# save the attached .config to linux build tree
make ARCH=x86_64
All warnings (new ones prefixed by >>):
>> drivers/regulator/devres.o: warning: objtool: devm_regulator_unregister_notifier()+0x2e: can't decode instruction
--
>> sound/core/info.o: warning: objtool: snd_info_get_line()+0x9: can't find jump dest instruction at .text+0x8b5
--
>> sound/core/sound_oss.o: warning: objtool: snd_oss_kernel_minor()+0x5: can't find jump dest instruction at .text+0x36
--
>> sound/core/hwdep.o: warning: objtool: snd_hwdep_dsp_load()+0x78: can't find jump dest instruction at .text+0x5fa
--
>> sound/core/timer.o: warning: objtool: snd_timer_notify()+0x49: return with modified stack frame
--
>> sound/core/hrtimer.o: warning: objtool: snd_hrtimer_callback()+0x62: can't find jump dest instruction at .text+0x108
--
>> sound/core/pcm_lib.o: warning: objtool: snd_pcm_playback_silence()+0x17b: can't find jump dest instruction at .text+0x9b9
--
>> sound/drivers/opl3/opl3_lib.o: warning: objtool: snd_opl3_create()+0x1f5: can't find jump dest instruction at .text+0x628
--
>> sound/drivers/opl3/opl3_midi.o: warning: objtool: snd_opl3_kill_voice()+0x9: can't find jump dest instruction at .text+0x12
--
>> drivers/media/dvb-core/dvb_math.o: warning: objtool: intlog2()+0x2: can't find jump dest instruction at .text+0x9
--
>> drivers/gpu/drm/ttm/ttm_execbuf_util.o: warning: objtool: ttm_eu_backoff_reservation()+0x64: can't find jump dest instruction at .text+0xb5
..
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 30714 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] x86/decoder: Update UD0 to have operands
2018-02-10 19:26 ` kbuild test robot
@ 2018-02-12 16:34 ` Masami Hiramatsu
0 siblings, 0 replies; 4+ messages in thread
From: Masami Hiramatsu @ 2018-02-12 16:34 UTC (permalink / raw)
To: kbuild test robot
Cc: kbuild-all, Ingo Molnar, linux-kernel, Thomas Gleixner,
H . Peter Anvin, x86
On Sun, 11 Feb 2018 03:26:12 +0800
kbuild test robot <lkp@intel.com> wrote:
> Hi Masami,
>
> I love your patch! Perhaps something to improve:
>
> [auto build test WARNING on tip/auto-latest]
> [also build test WARNING on v4.15 next-20180209]
> [if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
>
> url: https://github.com/0day-ci/linux/commits/Masami-Hiramatsu/x86-decoder-Update-UD0-to-have-operands/20180211-013327
> config: x86_64-acpi-redef (attached as .config)
> compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
> reproduce:
> # save the attached .config to linux build tree
> make ARCH=x86_64
>
> All warnings (new ones prefixed by >>):
>
> >> drivers/regulator/devres.o: warning: objtool: devm_regulator_unregister_notifier()+0x2e: can't decode instruction
> --
> >> sound/core/info.o: warning: objtool: snd_info_get_line()+0x9: can't find jump dest instruction at .text+0x8b5
> --
> >> sound/core/sound_oss.o: warning: objtool: snd_oss_kernel_minor()+0x5: can't find jump dest instruction at .text+0x36
> --
> >> sound/core/hwdep.o: warning: objtool: snd_hwdep_dsp_load()+0x78: can't find jump dest instruction at .text+0x5fa
> --
> >> sound/core/timer.o: warning: objtool: snd_timer_notify()+0x49: return with modified stack frame
> --
> >> sound/core/hrtimer.o: warning: objtool: snd_hrtimer_callback()+0x62: can't find jump dest instruction at .text+0x108
> --
> >> sound/core/pcm_lib.o: warning: objtool: snd_pcm_playback_silence()+0x17b: can't find jump dest instruction at .text+0x9b9
> --
> >> sound/drivers/opl3/opl3_lib.o: warning: objtool: snd_opl3_create()+0x1f5: can't find jump dest instruction at .text+0x628
> --
> >> sound/drivers/opl3/opl3_midi.o: warning: objtool: snd_opl3_kill_voice()+0x9: can't find jump dest instruction at .text+0x12
> --
> >> drivers/media/dvb-core/dvb_math.o: warning: objtool: intlog2()+0x2: can't find jump dest instruction at .text+0x9
> --
> >> drivers/gpu/drm/ttm/ttm_execbuf_util.o: warning: objtool: ttm_eu_backoff_reservation()+0x64: can't find jump dest instruction at .text+0xb5
> ..
Ugg, OK this is what I worried about :(
This might mean gcc generated UD0 without MODRM binary but the tool check it with MODRM...
I will check it.
Thanks,
--
Masami Hiramatsu <mhiramat@kernel.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2018-02-12 16:34 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-07 6:15 arch/x86/tools/insn_decoder_test: warning: ffffffff810005de: 0f ff e8 ud0 %eax,%ebp kbuild test robot
2018-02-08 15:17 ` [PATCH] x86/decoder: Update UD0 to have operands Masami Hiramatsu
2018-02-10 19:26 ` kbuild test robot
2018-02-12 16:34 ` Masami Hiramatsu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®