[PATCH 0/2] *** Fix reformat_objdump.awk ***

Samuel Zeter posted 2 patches 4 years, 5 months ago
There is a newer version of this series
arch/x86/tools/objdump_reformat.awk | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH 0/2] *** Fix reformat_objdump.awk ***
Posted by Samuel Zeter 4 years, 5 months ago
These are two small patches which originally dealt with
the problem found at:

https://github.com/ClangBuiltLinux/linux/issues/1364

The original steps to reproduce were:
$ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 defconfig
$ scripts/config -e X86_DECODER_SELFTEST
$ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 olddefconfig bzImage

Which resulted in the error:
arch/x86/tools/insn_decoder_test: warning: objdump says 0 bytes, but
insn_get_length() says 2

Upon inspection it turned out llvm-objdump was formatting its
output differently, which caused objdump_reformat.awk to incorrectly
output its values.

After fixing that bug, a second one was seen where the instruction
"wait" was incorrectly matched with "fwait", which again caused
insn_decoder_test to fail.

Samuel Zeter (2):
  arch/x86/tools/objdump_reformat.awk: Ensure regex matches fwait
  arch/x86/tools/objdump_reformat.awk: Allow for spaces

 arch/x86/tools/objdump_reformat.awk | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.32.0

Re: [PATCH 0/2] *** Fix reformat_objdump.awk ***
Posted by Nathan Chancellor 4 years, 5 months ago
On Thu, Jan 06, 2022 at 01:36:03PM +1100, Samuel Zeter wrote:
> These are two small patches which originally dealt with
> the problem found at:
> 
> https://github.com/ClangBuiltLinux/linux/issues/1364
> 
> The original steps to reproduce were:
> $ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 defconfig
> $ scripts/config -e X86_DECODER_SELFTEST
> $ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 olddefconfig bzImage
> 
> Which resulted in the error:
> arch/x86/tools/insn_decoder_test: warning: objdump says 0 bytes, but
> insn_get_length() says 2
> 
> Upon inspection it turned out llvm-objdump was formatting its
> output differently, which caused objdump_reformat.awk to incorrectly
> output its values.
> 
> After fixing that bug, a second one was seen where the instruction
> "wait" was incorrectly matched with "fwait", which again caused
> insn_decoder_test to fail.

Thanks a lot for sending these fixes!

I can confirm with this series and the removal of chkobjdump.awk [1] on
top of v5.16-rc8, the insn_decoder_test now passes with LLVM 11 through
14.

Tested-by: Nathan Chancellor <nathan@kernel.org>

For the future, I recommend putting the maintainers in the "To" field,
rather than "Cc", to ensure they actually see it. Additionally, I see
some small nits in the commit message that the tip maintainers might
comment on, see

https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#changelog

for some more info.

Masami Hiramatsu originally wrote this file and has a few fixes to it
since, adding him now for review. The original thread is available at:

https://lore.kernel.org/r/20220106023606.283953-1-samuelzeter@gmail.com/

[1]: https://git.kernel.org/nathan/c/2f137c324b21f1c21b8830d8896cb9957009f969

Cheers,
Nathan
Re: [PATCH 0/2] *** Fix reformat_objdump.awk ***
Posted by Masami Hiramatsu 4 years, 5 months ago
Hi Samuel and Nathan,

Thanks for working on this issue. I didn't noticed that the llvm has
this difference. Anyway both patches look good to me.

Acked-by: Masami Hiramatsu <mhiramat@kernel.org>

for this series.

And if you resend it, please add "x86@kernel.org" to Cc.

Thank you!

On Thu, 6 Jan 2022 12:02:25 -0700
Nathan Chancellor <nathan@kernel.org> wrote:

> On Thu, Jan 06, 2022 at 01:36:03PM +1100, Samuel Zeter wrote:
> > These are two small patches which originally dealt with
> > the problem found at:
> > 
> > https://github.com/ClangBuiltLinux/linux/issues/1364
> > 
> > The original steps to reproduce were:
> > $ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 defconfig
> > $ scripts/config -e X86_DECODER_SELFTEST
> > $ make -skj"$(nproc)" LLVM=1 LLVM_IAS=1 olddefconfig bzImage
> > 
> > Which resulted in the error:
> > arch/x86/tools/insn_decoder_test: warning: objdump says 0 bytes, but
> > insn_get_length() says 2
> > 
> > Upon inspection it turned out llvm-objdump was formatting its
> > output differently, which caused objdump_reformat.awk to incorrectly
> > output its values.
> > 
> > After fixing that bug, a second one was seen where the instruction
> > "wait" was incorrectly matched with "fwait", which again caused
> > insn_decoder_test to fail.
> 
> Thanks a lot for sending these fixes!
> 
> I can confirm with this series and the removal of chkobjdump.awk [1] on
> top of v5.16-rc8, the insn_decoder_test now passes with LLVM 11 through
> 14.
> 
> Tested-by: Nathan Chancellor <nathan@kernel.org>
> 
> For the future, I recommend putting the maintainers in the "To" field,
> rather than "Cc", to ensure they actually see it. Additionally, I see
> some small nits in the commit message that the tip maintainers might
> comment on, see
> 
> https://www.kernel.org/doc/html/latest/process/maintainer-tip.html#changelog
> 
> for some more info.
> 
> Masami Hiramatsu originally wrote this file and has a few fixes to it
> since, adding him now for review. The original thread is available at:
> 
> https://lore.kernel.org/r/20220106023606.283953-1-samuelzeter@gmail.com/
> 
> [1]: https://git.kernel.org/nathan/c/2f137c324b21f1c21b8830d8896cb9957009f969
> 
> Cheers,
> Nathan


-- 
Masami Hiramatsu <mhiramat@kernel.org>