drgn/libdrgn
Omar Sandoval e250dfea62 libdrgn: support DWARF package (.dwp) files
My elfutils patches to support .dwp files were just merged and included
in release 0.191. libdw does all of the heavy lifting, we just need to
apply the section offsets when we parse DWARF ourselves. We still need
to support older versions of elfutils, so add a stub.

Closes #317.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2024-03-01 15:49:08 -08:00
..
build-aux libdrgn: elf_file: drop .debug_line and .debug_line_str 2023-10-11 15:07:28 -07:00
examples libdrgn: examples: load_debug_info: pass struct drgn_program address to --{pre,post}-exec 2023-08-04 12:49:48 -07:00
include libdrgn: wrap system elf.h instead of vendoring 2023-08-24 13:27:38 -07:00
m4 libdrgn: define auto to __auto_type via autoconf 2023-08-16 10:32:39 -07:00
python libdrgn: python: don't use private dict APIs removed in Python 3.13 2024-01-17 00:32:52 -08:00
.gitignore libdrgn: use memswitch for linux_kernel_object_find 2022-02-08 02:03:11 -08:00
arch_aarch64_defs.py Add StackFrame.sp 2022-11-22 18:47:16 -08:00
arch_aarch64.c libdrgn: aarch64: Apply TBI to virtual addresses 2024-01-16 13:11:50 -08:00
arch_arm.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
arch_i386.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
arch_ppc64_defs.py Add StackFrame.sp 2022-11-22 18:47:16 -08:00
arch_ppc64.c libdrgn: ppc64: update special case for vmcore PRSTATUS r1 2023-10-30 23:22:17 -07:00
arch_riscv.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
arch_s390x_defs.py libdrgn: add s390x unwinding support 2022-12-19 13:48:44 -08:00
arch_s390x.c libdrgn: add DRGN_OBJECT scope guard 2023-09-28 22:31:11 -07:00
arch_x86_64_defs.py Add StackFrame.sp 2022-11-22 18:47:16 -08:00
arch_x86_64.c Revert "libdrgn: add last virtual address hint to page table iterator" 2023-11-01 16:31:39 -07:00
array.h libdrgn: factor is_array() macro out of array_size() 2024-01-04 14:42:59 -08:00
binary_buffer.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
binary_buffer.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
binary_search_tree.h libdrgn: binary_search_tree: use a slightly different terminating loop hack 2023-09-13 15:53:11 -07:00
bitops.h libdrgn: bitops: add ilog2() 2023-11-02 16:26:19 -07:00
cfi.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
cfi.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
cityhash.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
cleanup.h libdrgn: add _cleanup_fclose_ scope guard 2023-08-17 15:42:13 -07:00
configure.ac drgn 0.0.25 2023-12-01 14:15:46 -08:00
debug_info.c libdrgn: dwarf_info: index type units from split DWARF files 2024-03-01 14:37:47 -08:00
debug_info.h libdrgn: embed drgn_debug_info in drgn_program 2023-10-02 11:27:36 -07:00
Doxyfile libdrgn: add read(2) and pread(2) wrappers that don't return short reads 2022-08-26 12:43:20 -07:00
drgn_program_parse_vmcoreinfo.inc.strswitch Add VMCOREINFO to special Linux Kernel objects 2023-08-18 22:21:13 -07:00
drgn.h Add drgn.Program.stack_trace_from_pcs() 2024-01-13 23:23:41 -08:00
dwarf_constants.c libdrgn: dwarf_info: expand unknown DWARF expression opcode 2023-09-28 11:56:11 -07:00
dwarf_constants.h libdrgn: dwarf_info: expand unknown DWARF expression opcode 2023-09-28 11:56:11 -07:00
dwarf_info.c libdrgn: support DWARF package (.dwp) files 2024-03-01 15:49:08 -08:00
dwarf_info.h libdrgn: dwarf_info: index type units from split DWARF files 2024-03-01 14:37:47 -08:00
elf_file.c libdrgn: elf_file: drop .debug_line and .debug_line_str 2023-10-11 15:07:28 -07:00
elf_file.h libdrgn: dwarf_info: read CU DIE with libdw in DWARF index 2023-07-19 10:10:08 -07:00
error.c libdrgn: string_builder: add STRING_BUILDER scope guard 2023-10-07 22:30:38 -07:00
error.h libdrgn: string_builder: add STRING_BUILDER scope guard 2023-10-07 22:30:38 -07:00
generics.h libdrgn: add macros for defining types conditionally 2023-08-16 14:13:54 -07:00
hash_table.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
hash_table.h libdrgn: get rid of compatible type requirement for {min,max}_iconst() 2023-08-16 14:12:11 -07:00
helpers.h libdrgn: rework linux_helper_task_iterator based on kernel's for_each_process_thread() 2023-11-18 10:23:50 -08:00
io.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
io.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
kdump.c libdrgn: better error reporting of unsupported libkdumpfile format 2023-11-29 09:24:13 -08:00
language_c.c libdrgn: string_builder: add STRING_BUILDER scope guard 2023-10-07 22:30:38 -07:00
language.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
language.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
lazy_object.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
lazy_object.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
lexer.c libdrgn: revamp generic vector API 2023-08-16 14:13:38 -07:00
lexer.h libdrgn: require semicolon after DEFINE_{HASH,VECTOR,BINARY_SEARCH_TREE}* 2023-08-02 14:54:59 -07:00
linux_kernel_helpers.c libdrgn: rework linux_helper_task_iterator based on kernel's for_each_process_thread() 2023-11-18 10:23:50 -08:00
linux_kernel_object_find.inc.strswitch Add VMCOREINFO to special Linux Kernel objects 2023-08-18 22:21:13 -07:00
linux_kernel.c Add DRGN_PROGRAM_IS_LOCAL flag 2023-10-06 16:09:58 -07:00
linux_kernel.h libdrgn: detect flattened vmcores and raise error 2023-08-16 09:41:26 -07:00
log.c libdrgn: add simple logging framework 2023-07-18 12:47:34 -07:00
log.h libdrgn: log: fix typos in drgn_error_log_{critical,error}() 2023-10-11 14:35:10 -07:00
Makefile.am libdrgn: don't generate drgn.h.in 2023-12-05 09:27:47 -08:00
memory_reader.c libdrgn: require semicolon after DEFINE_{HASH,VECTOR,BINARY_SEARCH_TREE}* 2023-08-02 14:54:59 -07:00
memory_reader.h libdrgn: require semicolon after DEFINE_{HASH,VECTOR,BINARY_SEARCH_TREE}* 2023-08-02 14:54:59 -07:00
minmax.h libdrgn: get rid of compatible type requirement for {min,max}_iconst() 2023-08-16 14:12:11 -07:00
nstring.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
object_index.c libdrgn: embed type and object finders in drgn_debug_info 2023-09-29 12:00:31 -07:00
object_index.h libdrgn: embed type and object finders in drgn_debug_info 2023-09-29 12:00:31 -07:00
object.c libdrgn: allow reinterpreting primitive scalar values 2024-01-12 15:50:23 -08:00
object.h libdrgn: support value objects with >64-bit integer types 2023-08-02 14:21:46 -07:00
openmp.c libdrgn: set default number of OpenMP threads without hyperthreads 2023-08-18 08:33:56 -07:00
openmp.h libdrgn: set default number of OpenMP threads without hyperthreads 2023-08-18 08:33:56 -07:00
orc_info.c libdrgn: orc_info: don't assume ORC section alignment 2023-08-21 15:18:26 -07:00
orc_info.h libdrgn: orc_info: handle ORC changes in Linux 6.3 and 6.4 2023-06-22 15:27:39 -07:00
orc.h libdrgn: orc_info: handle ORC changes in Linux 6.3 and 6.4 2023-06-22 15:27:39 -07:00
path.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
path.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
platform.c libdrgn: add stub s390 and s390x architectures with relocation implementation 2022-12-19 13:48:44 -08:00
platform.h libdrgn: aarch64: Apply TBI to virtual addresses 2024-01-16 13:11:50 -08:00
pp.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
program.c libdrgn: aarch64: Apply TBI to virtual addresses 2024-01-16 13:11:50 -08:00
program.h libdrgn: aarch64: Apply TBI to virtual addresses 2024-01-16 13:11:50 -08:00
register_state.c libdrgn: embed drgn_debug_info in drgn_program 2023-10-02 11:27:36 -07:00
register_state.h libdrgn: add drgn_register_state_dup() 2023-08-24 16:05:23 -07:00
serialize.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
serialize.h libdrgn: support value objects with >64-bit integer types 2023-08-02 14:21:46 -07:00
splay_tree.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
stack_trace.c Add drgn.Program.stack_trace_from_pcs() 2024-01-13 23:23:41 -08:00
stack_trace.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
string_builder.c libdrgn: string_builder: add STRING_BUILDER scope guard 2023-10-07 22:30:38 -07:00
string_builder.h libdrgn: string_builder: add STRING_BUILDER scope guard 2023-10-07 22:30:38 -07:00
symbol.c Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
symbol.h Relicense drgn from GPLv3+ to LGPLv2.1+ 2022-11-01 17:05:16 -07:00
type.c libdrgn: fix memory leak of type template parameters 2024-01-16 13:28:10 -08:00
type.h libdrgn: embed type and object finders in drgn_debug_info 2023-09-29 12:00:31 -07:00
util.h libdrgn: add malloc_flexible_array() macro 2024-01-04 14:42:59 -08:00
vector.h libdrgn: vector: support using a smaller type for size/capacity 2023-08-16 14:14:59 -07:00