drgn/libdrgn
Omar Sandoval 5975d19580 libdrgn: report better errors when parsing DWARF/kmod index
If the DWARF index encounters any error while parsing, it returns an
error saying only "debug information is truncated", which makes it hard
to track down parsing errors. The kmod index parser silently swallows
errors. For both, replace the mread functions with a higher-level
binary_buffer interface that can include more information including the
location of the error. For example:

  /tmp/mybinary: .debug_info+0x4: expected at least 56 bytes, have 55

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2020-11-13 17:00:07 -08:00
..
build-aux libdrgn/python: add Qualifiers.NONE and stop using Optional[Qualifiers] 2020-08-27 11:31:29 -07:00
elfutils Update elfutils and revert activation frame patch 2020-05-20 13:38:49 -07:00
examples libdrgn: add load_debug_info example program 2020-07-10 16:18:58 -07:00
include Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
m4 libdrgn: build with bundled elfutils 2019-09-19 11:07:12 -07:00
python libdrgn: clean up hash function APIs and improve documentation 2020-10-12 16:20:08 -07:00
.gitignore Document with Sphinx 2019-04-11 12:48:15 -07:00
arch_x86_64.c.in Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
binary_buffer.c libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
binary_buffer.h libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
binary_search_tree.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
bitops.h libdrgn: split bit operations into their own header 2020-10-09 17:44:15 -07:00
cityhash.h Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
configure.ac drgn 0.0.8 2020-11-11 13:32:04 -08:00
debug_info.c libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
debug_info.h libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
Doxyfile libdrgn: fix Doxygen 2020-09-30 01:32:33 -07:00
drgn.h.in libdrgn: fix Doxygen 2020-09-30 01:32:33 -07:00
dwarf_index.c libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
dwarf_index.h libdrgn: fix Doxygen 2020-09-30 01:32:33 -07:00
error.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
error.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
hash_table.c Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
hash_table.h libdrgn: clean up hash function APIs and improve documentation 2020-10-12 16:20:08 -07:00
helpers.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
kdump.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
language_c.c libdrgn: clean up hash function APIs and improve documentation 2020-10-12 16:20:08 -07:00
language.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
language.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
lexer.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
lexer.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
linux_kernel_helpers.c libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
linux_kernel.c libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
linux_kernel.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
Makefile.am libdrgn: report better errors when parsing DWARF/kmod index 2020-11-13 17:00:07 -08:00
memory_reader.c libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
memory_reader.h libdrgn: fix Doxygen 2020-09-30 01:32:33 -07:00
minmax.h libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
object_index.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
object_index.h libdrgn: fold drgn_type_index into drgn_program 2020-08-26 17:36:35 -07:00
object.c libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
object.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
path.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
path.h libdrgn: fix Doxygen 2020-09-30 01:32:33 -07:00
platform.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
platform.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
pp.h libdrgn: add preprocessor utility macros 2020-10-09 16:36:59 -07:00
program.c libdrgn: clean up hash function APIs and improve documentation 2020-10-12 16:20:08 -07:00
program.h libdrgn: fix Doxygen 2020-09-30 01:32:33 -07:00
serialize.c libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
serialize.h Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
siphash.h Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
splay_tree.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
stack_trace.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
string_builder.c libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
string_builder.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
symbol.c Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
symbol.h Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
type.c libdrgn: clean up hash function APIs and improve documentation 2020-10-12 16:20:08 -07:00
type.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00
util.h libdrgn: add {min,max}_iconst() and rewrite min() and max() 2020-10-10 23:48:03 -07:00
vector.c Update copyright headers to Facebook and add missing headers 2020-05-15 15:13:02 -07:00
vector.h Clean up #includes with include-what-you-use 2020-09-23 16:29:42 -07:00