Re: [PATCH 10/11] perf tools: Add probing for udev86 library
From: Ingo Molnar
Date: Wed Mar 30 2016 - 09:52:55 EST
* Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> wrote:
> Em Wed, Mar 30, 2016 at 12:43:27PM +0200, Ingo Molnar escreveu:
> > > From: Andi Kleen <ak@xxxxxxxxxxxxxxx>
>
> > > Add autoprobing for the udev86 disassembler library.
>
> > So the typo in the title is confusing, what is 'udev86'?
>
> > Also, this library does not seem to be available on stock Ubuntu. We should not be
> > adding library dependencies that cannot be resolved on major distros:
>
> Ok, I'll remove, I thought it would be ok because I fired up:
>
> # dnf install udis86-devel
>
> On fedora and it installed straight away, but after I started trying to
> update my docker images I couldn't find it on debian
> experimental/unstable:
> Nor even in OpenSuSE:
> Or even Mageia:
Yeah, so udis86 also seems to be a pretty old, relatively stale library with no
support for new instructions AFAICS.
So I'd rather encourage librarizing one of the x86 instruction decoders in
arch/x86/, and adding pretty-printing functionality to it. The code can already
see instruction boundaries, which is the hardest part.
That would also be better supported on non-x86 architectures in the long run:
triton:~/tip> find arch/ -name insn.c | xargs ls -l
-rw-rw-r-- 1 mingo mingo 30244 Mar 29 11:24 arch/arm64/kernel/insn.c
-rw-rw-r-- 1 mingo mingo 1347 Dec 8 06:27 arch/arm/kernel/insn.c
-rw-rw-r-- 1 mingo mingo 15123 Mar 30 12:31 arch/x86/lib/insn.c
Such an in-kernel-repo library could also be used by live kernel debuggers such as
kgdb/kdb, oops/crash-time disassembly printout, etc.
... so how about that direction instead?
Thank,
Ingo