linux-perf-users.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Namhyung Kim <namhyung@kernel.org>
To: "Steinar H. Gunderson" <sesse@google.com>
Cc: acme@kernel.org, linux-perf-users@vger.kernel.org,
	 linux-kernel@vger.kernel.org, irogers@google.com
Subject: Re: [PATCH v4 1/3] perf report: Support LLVM for addr2line()
Date: Wed, 22 May 2024 13:46:35 -0700	[thread overview]
Message-ID: <CAM9d7cjjH63CC8r-z33P4SCWw3x4NMxuSC1CovVHqpp-zXSf6g@mail.gmail.com> (raw)
In-Reply-To: <Zk5Mi7SliDOd8uO4@google.com>

On Wed, May 22, 2024 at 12:50 PM Steinar H. Gunderson <sesse@google.com> wrote:
>
> On Wed, May 22, 2024 at 10:27:06AM -0700, Namhyung Kim wrote:
> > I think it should support other DWARF use cases like
> > unwinding and type info?
>
> I don't actually know. I had a look, but could really only find
> documentation for _writing_ DWARF info. However, I've hardly used LLVM
> before, so it's entirely possible that I missed something.

Oh ok.  I guess it should be able to read when it knows how to write. :)
But anyway they are separate, nice-to-have issues.  I think we can
add them later.

>
> > I remember bfd objdump is sometimes faster than llvm-objdump
> > especially when no line numbers are requested IIRC.
>
> Hm, I've never seen that. But it's impossible to say for sure
> that no such case exists, of course.
>
> > Anyway, nice work.  Maybe we can implement other use cases
> > using LLVM and reduce the dependencies.
>
> It's possible to remove the libbfd dependency entirely if that's a goal,
> at least, but I don't know what the current thinking is. I'll be happy
> to take a stab at it (I guess it's possible to test the PE support with
> WINE fairly easily?).

Great!  Personally I found libbfd is hard to read (and use).  Hope
that libllvm is better in that pov.  I'm not sure if we all want to
remove the libbfd dependency but at least we can select one of
them at build time.  Maybe the same for libelf and libdw(fl) too.

>
> I found out that if compiling with an older compiler, LLVM changes to
> llvm::Optional and doesn't have .value_or(), so I need to fix that
> (the patch is trivial, but it means I need to post a v5, I guess).
> Is there anything else I need to do after that to get this merged?

Having symbol enumeration and demangling with LLVM would
be nice but not required to merge this work.  I'll take a deeper
look next week.  Please post v5.

Thanks,
Namhyung

  reply	other threads:[~2024-05-22 20:46 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-05-20  8:30 [PATCH v4 1/3] perf report: Support LLVM for addr2line() Steinar H. Gunderson
2024-05-20  8:30 ` [PATCH v4 2/3] perf annotate: split out read_symbol() Steinar H. Gunderson
2024-05-20  8:30 ` [PATCH v4 3/3] perf annotate: LLVM-based disassembler Steinar H. Gunderson
2024-05-22 17:27 ` [PATCH v4 1/3] perf report: Support LLVM for addr2line() Namhyung Kim
2024-05-22 19:50   ` Steinar H. Gunderson
2024-05-22 20:46     ` Namhyung Kim [this message]
2024-05-23  9:32       ` Steinar H. Gunderson
2024-05-23 13:38 ` Arnaldo Carvalho de Melo

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=CAM9d7cjjH63CC8r-z33P4SCWw3x4NMxuSC1CovVHqpp-zXSf6g@mail.gmail.com \
    --to=namhyung@kernel.org \
    --cc=acme@kernel.org \
    --cc=irogers@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-perf-users@vger.kernel.org \
    --cc=sesse@google.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).