drgn/libdrgn
Omar Sandoval b8cdfff250 libdrgn: add read(2) and pread(2) wrappers that don't return short reads
We have a couple of loops that deal with short reads/EINTR from read(2)
and pread(2), and upcoming changes would need to add more. Add some
wrappers to abstract this away.

drgn_read_memory_file() still needs the loop so it can fault on the
exact offset that returns EIO.

Signed-off-by: Omar Sandoval <osandov@osandov.com>
2022-08-26 12:43:20 -07:00
..
build-aux libdrgn: rework architecture definition files 2022-06-25 22:39:26 -07:00
examples Fix various lints 2022-02-17 10:45:42 -08:00
include libdrgn: add latest elf.h and dwarf.h to support elfutils 0.165 2021-03-21 23:18:39 -07:00
m4 libdrgn: add autoconf option to enable compiler warnings 2022-03-01 15:38:05 -08:00
python libdrgn: python: add Jupyter pretty printing support 2022-08-25 13:52:11 -07:00
.gitignore libdrgn: use memswitch for linux_kernel_object_find 2022-02-08 02:03:11 -08:00
arch_aarch64_defs.py libdrgn: aarch64: add RA_SIGN_STATE pseudo-register and DW_CFA_AARCH64_negate_ra_state 2022-06-26 09:18:07 -07:00
arch_aarch64.c libdrgn: aarch64: implement page table iterator 2022-07-14 12:23:08 -07:00
arch_arm.c libdrgn: add stub Arm architecture with relocation implementation 2022-04-19 00:25:05 -07:00
arch_i386.c libdrgn: add stub i386 architecture with relocation implementation 2022-04-19 00:21:59 -07:00
arch_ppc64_defs.py libdrgn: ppc64: fix DWARF link register confusion 2022-06-25 22:39:30 -07:00
arch_ppc64.c libdrgn: ppc64: fix fallback unwinding 2022-06-25 22:39:30 -07:00
arch_riscv.c libdrgn: add stub RISC-V architecture with relocation implementation 2022-04-19 11:51:23 -07:00
arch_x86_64_defs.py libdrgn: x86-64: add a few more register definitions 2022-06-25 22:39:30 -07:00
arch_x86_64.c libdrgn: x86_64: fix page table iteration over non-canonical range 2022-07-24 00:03:45 -07:00
array.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
binary_buffer.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
binary_buffer.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
binary_search_tree.h libdrgn: binary_search_tree: move member and entry_to_key to DEFINE_BINARY_SEARCH_TREE_FUNCTIONS() 2022-05-24 15:26:39 -07:00
bitops.h libdrgn: linux_kernel: cache PAGE_SHIFT derived from PAGE_SIZE 2022-07-14 12:05:09 -07:00
cfi.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
cfi.h libdrgn: cfi: add rule to set register to constant 2022-06-26 09:18:07 -07:00
cityhash.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
configure.ac drgn 0.0.20 2022-07-25 16:52:28 -07:00
debug_info.c libdrgn: move alloc_or_reuse() to util.h 2022-06-01 05:11:58 -07:00
debug_info.h libdrgn: handle reading data from SHT_NOBITS sections 2022-01-27 12:23:09 -08: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 libdrgn: aarch64: implement page table iterator 2022-07-14 12:23:08 -07:00
drgn.h.in docs: use "programmable debugger" description consistently 2022-08-19 01:21:32 -07:00
dwarf_info.c Fix spelling error 2022-08-17 21:45:51 -07:00
dwarf_info.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
error.c libdrgn: add drgn_error_dwrite() 2022-05-23 11:09:10 -07:00
error.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
hash_table.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
hash_table.h libdrgn: hash_table: sanity check integer sizes more 2022-04-12 16:18:46 -07:00
helpers.h libdrgn: linux_kernel: make virt_to_phys() and phys_to_virt() generic 2022-07-14 12:05:11 -07:00
io.c libdrgn: add read(2) and pread(2) wrappers that don't return short reads 2022-08-26 12:43:20 -07:00
io.h libdrgn: add read(2) and pread(2) wrappers that don't return short reads 2022-08-26 12:43:20 -07:00
kdump.c libdrgn: fold struct vmcoreinfo into struct drgn_program 2022-06-26 09:18:07 -07:00
language_c.c libdrgn: dwarf: look up complete types in namespaces 2022-07-15 16:02:56 -07:00
language.c Fix various lints 2022-02-17 10:45:42 -08:00
language.h libdrgn: dwarf: look up complete types in namespaces 2022-07-15 16:02:56 -07:00
lazy_object.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
lazy_object.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
lexer.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
lexer.h Enable prog.type to work with classes 2022-02-22 14:55:23 -08:00
linux_kernel_helpers.c libdrgn: linux_kernel: make virt_to_phys() and phys_to_virt() generic 2022-07-14 12:05:11 -07:00
linux_kernel_object_find.inc.strswitch libdrgn: linux_kernel: make virt_to_phys() and phys_to_virt() generic 2022-07-14 12:05:11 -07:00
linux_kernel.c libdrgn: add read(2) and pread(2) wrappers that don't return short reads 2022-08-26 12:43:20 -07:00
linux_kernel.h libdrgn: fold struct vmcoreinfo into struct drgn_program 2022-06-26 09:18:07 -07:00
Makefile.am libdrgn: add read(2) and pread(2) wrappers that don't return short reads 2022-08-26 12:43:20 -07:00
memory_reader.c libdrgn: fix min() warning on 32-bit architectures 2022-08-26 12:43:20 -07:00
memory_reader.h libdrgn: elaborate on core dump p_filesz < p_memsz ambiguity 2022-08-26 12:43:20 -07:00
minmax.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
nstring.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
object_index.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
object_index.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
object.c libdrgn: support reference and absent objects with float types which aren't 32 or 64 bits 2022-07-06 15:47:18 -07:00
object.h libdrgn: support reference and absent objects with >64-bit integer types 2022-04-28 13:38:38 -07:00
orc_info.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
orc_info.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
orc.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
path.c Fix various lints 2022-02-17 10:45:42 -08:00
path.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
platform.c libdrgn: add stub RISC-V architecture with relocation implementation 2022-04-19 11:51:23 -07:00
platform.h libdrgn: linux_kernel: get vmemmap generically 2022-07-14 12:05:11 -07:00
pp.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
program.c libdrgn: add read(2) and pread(2) wrappers that don't return short reads 2022-08-26 12:43:20 -07:00
program.h libdrgn: aarch64: implement page table iterator 2022-07-14 12:23:08 -07:00
register_state.c libdrgn: register_state: add and use drgn_register_state_get_u64() 2022-06-25 22:39:30 -07:00
register_state.h libdrgn: register_state: add and use drgn_register_state_get_u64() 2022-06-25 22:39:30 -07:00
serialize.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
serialize.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
splay_tree.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
stack_trace.c Add drgn.StackTrace.prog and drgn_stack_trace_program() 2022-08-11 14:45:54 -07:00
stack_trace.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
string_builder.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
string_builder.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
symbol.c Add methods to return multiple matching symbols 2022-01-15 11:44:33 -08:00
symbol.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
type.c Enable prog.type to work with classes 2022-02-22 14:55:23 -08:00
type.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
util.h libdrgn: move alloc_or_reuse() to util.h 2022-06-01 05:11:58 -07:00
vector.c Update copyright headers to Meta 2021-11-21 15:59:44 -08:00
vector.h Update copyright headers to Meta 2021-11-21 15:59:44 -08:00