qemu-cr16/contrib/plugins
Pierrick Bouvier 8a545a336d contrib/plugins/uftrace_symbols.py: generate debug files to map symbols to source
Enhance uftrace_symbols.py to generate .dbg files, containing
source location for every symbol present in .sym file.
It allows to use `uftrace {replay,dump} --srcline` and show origin of
functions, connecting trace to original source code.

It was first implemented with pyelftools DWARF parser, which was way
too slow (~minutes) to get locations for every symbol in the linux
kernel. Thus, we use `addr2line` instead, which runs in seconds.

As well, there were some bugs with latest pyelftools release,
requiring to run master version, which is not installable with pip.
Thus, since we now require binutils (addr2line), we can ditch pyelftools
based implementation and simply rely on `nm` to get symbols information,
which is faster and better.

Signed-off-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <20251016150357.876415-8-alex.bennee@linaro.org>
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
2025-10-20 13:46:28 +01:00
..
bbv.c contrib/plugins/bbv.c: Start bb index from 1 2024-12-28 14:42:53 +03:00
cache.c contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
cflow.c contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
drcov.c contrib/plugins/drcov: Fix string format 2023-09-07 12:54:17 +02:00
execlog.c contrib/plugins/execlog: Explicitly check for qemu_plugin_read_register() failure 2025-09-26 10:07:54 +01:00
hotblocks.c contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
hotpages.c contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
howvec.c contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
hwprofile.c contrib/plugins: Fix type conflict of GLib function pointers 2025-04-25 17:09:58 +02:00
ips.c contrib/plugins: allow setting of instructions per quantum 2025-06-07 16:40:44 +01:00
lockstep.c contrib/plugins: add compat for g_memdup2 2024-07-30 11:44:21 +01:00
meson.build contrib/plugins/uftrace: skeleton file 2025-09-26 10:07:54 +01:00
stoptrigger.c contrib/plugins/stoptrigger: fix 32-bit build 2025-01-17 10:44:44 +00:00
uftrace.c contrib/plugins/uftrace: implement x64 support 2025-09-26 10:07:54 +01:00
uftrace_symbols.py contrib/plugins/uftrace_symbols.py: generate debug files to map symbols to source 2025-10-20 13:46:28 +01:00
win32_linker.c plugins: make test/example plugins work on windows 2023-11-08 15:15:23 +00:00