]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
perf unwind-libunwind: Remove libunwind-local
authorIan Rogers <irogers@google.com>
Wed, 13 May 2026 23:31:50 +0000 (16:31 -0700)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Fri, 15 May 2026 19:19:50 +0000 (16:19 -0300)
commit88b4275ff542510fa80c32c863571c71d60f8766
treed2767f2401cb79acafe1fba02a5fd3d0ecd9740b
parent2723e9f8b5cf36b8c49b9798fdbe326cf2b70785
perf unwind-libunwind: Remove libunwind-local

Local unwinding only works on the machine libunwind is built for,
rather than cross platform, the APIs for remote and local unwinding
are similar but types like unw_word_t depend on the included
header. Place the architecture specific code into the appropriate
libunwind-<arch>.c file. Put generic code in unwind-libunwind.c and
use libunwind-arch to choose the correct implementation based on the
thread's e_machine. Structuring the code this way avoids including the
unwind-libunwind-local.c for each architecture of remote
unwinding. Data is moved into the struct unwind_info to simplify the
architecture and generic code, trying to keep as much code as possible
generic.

Signed-off-by: Ian Rogers <irogers@google.com>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Albert Ou <aou@eecs.berkeley.edu>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexandre Ghiti <alex@ghiti.fr>
Cc: Andrew Jones <andrew.jones@oss.qualcomm.com>
Cc: Athira Rajeev <atrajeev@linux.ibm.com>
Cc: Dapeng Mi <dapeng1.mi@linux.intel.com>
Cc: Dmitrii Dolgov <9erthalion6@gmail.com>
Cc: Florian Fainelli <florian.fainelli@broadcom.com>
Cc: Howard Chu <howardchu95@gmail.com>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: James Clark <james.clark@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: John Garry <john.g.garry@oracle.com>
Cc: Leo Yan <leo.yan@linux.dev>
Cc: Li Guan <guanli.oerv@isrc.iscas.ac.cn>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Palmer Dabbelt <palmer@dabbelt.com>
Cc: Paul Walmsley <pjw@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Shimin Guo <shimin.guo@skydio.com>
Cc: Thomas Richter <tmricht@linux.ibm.com>
Cc: Tomas Glozar <tglozar@redhat.com>
Cc: Will Deacon <will@kernel.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
19 files changed:
tools/perf/util/Build
tools/perf/util/libunwind-arch/libunwind-arch.c
tools/perf/util/libunwind-arch/libunwind-arch.h
tools/perf/util/libunwind-arch/libunwind-arm.c
tools/perf/util/libunwind-arch/libunwind-arm64.c
tools/perf/util/libunwind-arch/libunwind-i386.c
tools/perf/util/libunwind-arch/libunwind-loongarch.c
tools/perf/util/libunwind-arch/libunwind-mips.c
tools/perf/util/libunwind-arch/libunwind-ppc32.c
tools/perf/util/libunwind-arch/libunwind-ppc64.c
tools/perf/util/libunwind-arch/libunwind-s390.c
tools/perf/util/libunwind-arch/libunwind-x86_64.c
tools/perf/util/libunwind/arm64.c [deleted file]
tools/perf/util/libunwind/x86_32.c [deleted file]
tools/perf/util/maps.c
tools/perf/util/maps.h
tools/perf/util/unwind-libunwind-local.c [deleted file]
tools/perf/util/unwind-libunwind.c
tools/perf/util/unwind.h