From: Arnaldo Carvalho de Melo <acme@kernel.org>
To: Ian Rogers <irogers@google.com>
Cc: Namhyung Kim <namhyung@kernel.org>,
Ingo Molnar <mingo@kernel.org>,
Thomas Gleixner <tglx@linutronix.de>,
Jiri Olsa <jolsa@kernel.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Kan Liang <kan.liang@linux.intel.com>,
Clark Williams <williams@redhat.com>,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org,
Arnaldo Carvalho de Melo <acme@redhat.com>,
Athira Rajeev <atrajeev@linux.vnet.ibm.com>,
"Steinar H. Gunderson" <sesse@google.com>
Subject: Re: [PATCH 3/3] perf disasm: Allow configuring what disassemblers to use
Date: Mon, 11 Nov 2024 14:24:34 -0300 [thread overview]
Message-ID: <ZzI90g83cGIKSUDu@x1> (raw)
In-Reply-To: <CAP-5=fW7teKmRfGtjkvk1=PArt7M-v=CBF2EjdY0SbgdU6DtqQ@mail.gmail.com>
On Mon, Nov 11, 2024 at 08:27:38AM -0800, Ian Rogers wrote:
> On Mon, Nov 11, 2024 at 7:18 AM Arnaldo Carvalho de Melo <acme@kernel.org> wrote:
> > The perf tools annotation code used for a long time parsing the output
> > of binutils's objdump (or its reimplementations, like llvm's) to then
> > parse and augment it with samples, allow navigation, etc.
> > More recently disassemblers from the capstone and llvm (libraries, not
> > parsing the output of tools using those libraries to mimic binutils's
> > objdump output) were introduced.
> > So when all those methods are available, there is a static preference
> > for a series of attempts of disassembling a binary, with the 'llvm,
> > capstone, objdump' sequence being hard coded.
> So it LLVM is the preference can we just switch to using the LLVM ELF
> libraries, etc? :-) I was a bit surprised to see LLVM as preferable to
I'd have to look up the discussion to see how this ended up being the
default when LLVM is available, but when I wanted to have source code
intermixed with it and noticed that the LLVM output doesn't have it,
that lead me to try to make this selectable so that we can go from one
to the other when needing something not available in one of them.
On my todo list, and here Steinar could help, is to check if we an have
source code intermixed with the llvm based disassembler, like we have
with the objdump based one.
> capstone, which feels more agnostic in the LLVM vs GCC/binutils wars.
> Fwiw, I'm happy with LLVM being the preference.
<SNIP>
> > After adding a way to select the disassembler from the command line a
> > 'perf test' comparing the output of the various diassemblers should be
> > introduced, to test these codebases.
> >
> > Cc: Adrian Hunter <adrian.hunter@intel.com>
> > Cc: Athira Rajeev <atrajeev@linux.vnet.ibm.com>
> > Cc: Ian Rogers <irogers@google.com>
> > Cc: Jiri Olsa <jolsa@kernel.org>
> > Cc: Kan Liang <kan.liang@linux.intel.com>
> > Cc: Namhyung Kim <namhyung@kernel.org>
> > Cc: Steinar H. Gunderson <sesse@google.com>
> > Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
>
> Acked-by: Ian Rogers <irogers@google.com>
Thanks!
- Arnaldo
next prev parent reply other threads:[~2024-11-11 17:24 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-11 15:17 [PATCH 0/3 perf-tools-next] Selectable disassembler Arnaldo Carvalho de Melo
2024-11-11 15:17 ` [PATCH 1/3] perf disasm: Introduce symbol__disassemble_objdump() Arnaldo Carvalho de Melo
2024-11-11 16:15 ` Ian Rogers
2024-11-11 17:18 ` Arnaldo Carvalho de Melo
2024-11-11 15:17 ` [PATCH 2/3] perf disasm: Define stubs for the LLVM and capstone disassemblers Arnaldo Carvalho de Melo
2024-11-11 16:23 ` Ian Rogers
2024-11-11 17:20 ` Arnaldo Carvalho de Melo
2024-11-13 15:24 ` Aditya Bodkhe
2024-11-13 19:27 ` Arnaldo Carvalho de Melo
2024-11-15 5:27 ` Aditya Bodkhe
2024-11-11 15:17 ` [PATCH 3/3] perf disasm: Allow configuring what disassemblers to use Arnaldo Carvalho de Melo
2024-11-11 16:27 ` Ian Rogers
2024-11-11 17:24 ` Arnaldo Carvalho de Melo [this message]
2024-11-13 12:56 ` Steinar H. Gunderson
2024-11-13 19:14 ` Arnaldo Carvalho de Melo
2024-11-14 9:27 ` Steinar H. Gunderson
2025-01-23 22:31 ` Ian Rogers
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZzI90g83cGIKSUDu@x1 \
--to=acme@kernel.org \
--cc=acme@redhat.com \
--cc=adrian.hunter@intel.com \
--cc=atrajeev@linux.vnet.ibm.com \
--cc=irogers@google.com \
--cc=jolsa@kernel.org \
--cc=kan.liang@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=mingo@kernel.org \
--cc=namhyung@kernel.org \
--cc=sesse@google.com \
--cc=tglx@linutronix.de \
--cc=williams@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).