PR432215 Add debuginfod functionality
commitfd4e3fb0ffa3f751f0e7f2e7f4639d4c3773305d
authorAaron Merey <amerey@redhat.com>
Fri, 19 Feb 2021 03:58:25 +0000 (18 22:58 -0500)
committerMark Wielaard <mark@klomp.org>
Fri, 26 Feb 2021 00:38:42 +0000 (26 01:38 +0100)
tree10d624d632f9423715512a91ad052656279c45e7
parent6daaeb0ff45af6b39f14003e392992a5ac7d51c8
PR432215 Add debuginfod functionality

debuginfod is an HTTP server for distributing ELF/DWARF debugging
information.  When a debuginfo file cannot be found locally, Valgrind
is able to query debuginfod servers for the file using its build-id.

readelf.c: Add debuginfod_find_debug_file(). Spawns a child process to
exec `debuginfod-find` in order to query servers for the debuginfo
file. Also add helper debuginfod_find_path().

pub_core_pathscan.h: Moved from priv_initimg_pathscan.h in order to use
VG_(find_executable)() in readelf.c.

docs: Add information regarding debuginfod to valgrind.1

memcheck/tests/linux: Add new test debuginfod-check.

tests/vg_regtest.in: Clear $DEBUGINFOD_URLS before running any tests.

https://bugs.kde.org/show_bug.cgi?id=432215
18 files changed:
.gitignore
NEWS
configure.ac
coregrind/Makefile.am
coregrind/m_debuginfo/readelf.c
coregrind/m_initimg/initimg-darwin.c
coregrind/m_initimg/initimg-linux.c
coregrind/m_initimg/initimg-solaris.c
coregrind/m_pathscan.c [moved from coregrind/m_initimg/initimg-pathscan.c with 95% similarity]
coregrind/pub_core_pathscan.h [moved from coregrind/m_initimg/priv_initimg_pathscan.h with 78% similarity]
docs/xml/manual-core.xml
docs/xml/valgrind-manpage.xml
memcheck/tests/linux/Makefile.am
memcheck/tests/linux/debuginfod-check.c [new file with mode: 0644]
memcheck/tests/linux/debuginfod-check.pl [new file with mode: 0755]
memcheck/tests/linux/debuginfod-check.stderr.exp [new file with mode: 0644]
memcheck/tests/linux/debuginfod-check.vgtest.in [new file with mode: 0644]
tests/vg_regtest.in