[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240924003720.617258-1-irogers@google.com>
Date: Mon, 23 Sep 2024 17:37:17 -0700
From: Ian Rogers <irogers@...gle.com>
To: Peter Zijlstra <peterz@...radead.org>, Ingo Molnar <mingo@...hat.com>,
Arnaldo Carvalho de Melo <acme@...nel.org>, Namhyung Kim <namhyung@...nel.org>,
Mark Rutland <mark.rutland@....com>,
Alexander Shishkin <alexander.shishkin@...ux.intel.com>, Jiri Olsa <jolsa@...nel.org>,
Ian Rogers <irogers@...gle.com>, Adrian Hunter <adrian.hunter@...el.com>,
Kan Liang <kan.liang@...ux.intel.com>, Kajol Jain <kjain@...ux.ibm.com>,
Athira Rajeev <atrajeev@...ux.vnet.ibm.com>, "Steinar H. Gunderson" <sesse@...gle.com>,
Masami Hiramatsu <mhiramat@...nel.org>, "David S. Miller" <davem@...emloft.net>,
Przemek Kitszel <przemyslaw.kitszel@...el.com>,
Alexander Lobakin <aleksander.lobakin@...el.com>, Hemant Kumar <hemant@...ux.vnet.ibm.com>,
linux-perf-users@...r.kernel.org, linux-kernel@...r.kernel.org,
Yang Jihong <yangjihong@...edance.com>, leo.yan@....com
Subject: [PATCH v1 0/3] 2 memory fixes and a build fix
I was looking into some lsan regressions and a latent issue with
libdw, creating these fixes.
A thought, we should probably simplify the libdw logic but rather than
do it here I'll do it as a separate series on top of these. The issues
I see are:
1) dwfl_thread_getframes is used to test for the presence of
libdw-dwarf-unwind. The blame date on this function is
2013-05-30. As the function is 10 years old I think having libdw
implies having dwfl_thread_getframes and so we can just merge the
two pieces of logic instead of having different feature tests and
ifdefs.
2) similarly, dwarf_getlocations has a blame date of 2013-08-23 so
let's just make libdw tests test for this and make having libdw
imply dwarf_getlocations support.
3) similarly, dwarf_getcfi has a blame date of 2009-06-24 so let's
just make libdw tests test for this and make having libdw imply
dwarf_getcfi support.
4) in Makefie.config feature-dwarf is a synonym for libdw support. I
think using the name libdw is more intention revealing as dwarf can
mean multiple things. Let's change HAVE_DWARF_SUPPORT to
HAVE_LIBDW_SUPPORT and all similar dwarf vs libdw names.
5) We have "#if _ELFUTILS_PREREQ(0, 142)" testing for elfutils version
0.142. Elfutils 0.142 was released around 2009-06-13 (via git blame
on the NEWS file). Let's remove the #if and ensure elfutils feature
tests for at least 0.142. If someone were using an incredibly old
version then they'd lose some elfutils support, but given the 15
year old age of the library I find it unlikely anyone is doing
this. They can also just move to a newer version.
>From the mailing list I notice also overlap with the last patch and
this series:
https://lore.kernel.org/lkml/20240919013513.118527-1-yangjihong@bytedance.com/
Simplifying the libdw support will address some of those issues too.
Ian Rogers (3):
perf disasm: Fix capstone memory leak
perf probe: Fix libdw memory leak
perf build: Fix !HAVE_DWARF_GETLOCATIONS_SUPPORT
tools/perf/Makefile.config | 6 ++++++
tools/perf/util/disasm.c | 11 +++++++----
tools/perf/util/dwarf-aux.h | 1 +
tools/perf/util/probe-finder.c | 5 +++++
4 files changed, 19 insertions(+), 4 deletions(-)
--
2.46.0.792.g87dc391469-goog
Powered by blists - more mailing lists