On Thu, 8 Feb 2018 06:04:45 +0800 kbuild test robot <fengguang...@intel.com> wrote:
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git > master > head: 7590e37bdaeec25ae325f4ba450be13e2aac6c8d > commit: 10c91577d5e631773a6394e14cf60125389b71ae x86/tools: Standardize > output format of insn_decode_test > date: 8 weeks ago > config: x86_64-randconfig-s2-02072130 (attached as .config) > compiler: gcc-6 (Debian 6.4.0-9) 6.4.0 20171026 > 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: ffffffff810005ac: 0f ff > >> e9 ud0 %ecx,%ebp Does UD0 really take an operand? Hmm, indeed, the latest Intel SDM (December2017) says NOTES: 1. Some older processors decode the UD0 instruction without a ModR/M byte. As a result, those processors would deliver an invalid- opcode exception instead of a fault on instruction fetch when the instruction with a ModR/M byte (and any implied bytes) would cross a page or segment boundary. and older SDM (e.g. March 2017) says UD0 has no modrm byte. It is easy to change x86-opecode-map.txt, but this means this test may fail with older objdump... > 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: ffffffff8100207e: 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: ffffffff81002218: 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: ffffffff81002317: 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: ffffffff810029f4: 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: ffffffff81002af4: 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: ffffffff81002c27: 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: ffffffff81002da5: 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: ffffffff81002dd5: 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: ffffffff81002eda: 0f ff > 65 8b ud0 -0x75(%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: ffffffff81002f58: 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: ffffffff810030c6: 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: ffffffff81003158: 0f ff > 5b 5d ud0 0x5d(%rbx),%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: ffffffff8100404c: 0f ff > 5b 5d ud0 0x5d(%rbx),%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: ffffffff81004053: 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: ffffffff81004056: f7 0f > ff eb ab 0f testl $0xfabebff,(%rdi) > arch/x86/tools/insn_decoder_test: warning: objdump says 6 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: ffffffff81005004: 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: ffffffff81005039: 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: ffffffff810052a4: 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: ffffffff81005889: 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: ffffffff8100588d: 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: ffffffff810059a1: 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: ffffffff81005a3a: 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: ffffffff8100609f: 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: ffffffff8100617c: 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: ffffffff8100620a: 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: ffffffff8100652b: 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: ffffffff8100655a: 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: ffffffff810069ce: 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: ffffffff81007332: 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: ffffffff81007382: 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: ffffffff81007c1f: 0f ff > 41 8b ud0 -0x75(%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: ffffffff81007c2f: 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: ffffffff81008a3c: 0f ff > 5b 5d ud0 0x5d(%rbx),%ebx > 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 -- Masami Hiramatsu <mhira...@kernel.org>