Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1554843

New attempt at adding an disassembler to perf v2

From Andi Kleen <andi@firstfloor.org>
Newsgroups linux.kernel
Subject New attempt at adding an disassembler to perf v2
Date 2017-01-10 02:10 +0100
Message-ID <sXT6N-306-7@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


A native disassembler in perf is very useful, in particular with perf script to trace 
instruction streams, but also for other analysis. Previously I attempted
to do this using the udis86 library, but that was rejected because:
- udis86 was not maintained anymore and lacking recent instructions
- udis86 is dynamically linked and gives a runtime dependency.
Doing this needs a full disassembler, not just a decoder, so the existing
instruction decoder cannot be used without major changes.

This patchkit addresses these issues.  Intel recently released an open source version
of the XED disassembler library, which is used in many other Intel software.
It is very well maintained, uptodate, and supports static linking, so there is no
runtime dependency. This version adds XED support to perf, and uses it to implement
assembler output in perf script. It also fixes a range of issues in the previous
version, see the individual change logs.

Available in 
git://git.kernel.org/pub/scm/linux/kernel/git/ak/linux-misc.git perf/xed-4

v1: First post of XED version
v2: Change probing to not be default and support XED_DIR. Other cleanups
based on review.

-Andi

Back to linux.kernel | Previous | Next | Find similar | Unroll thread


Thread

New attempt at adding an disassembler to perf v2 Andi Kleen <andi@firstfloor.org> - 2017-01-10 02:10 +0100

csiph-web