drgn/libdrgn/python
Omar Sandoval c0bc72b0ea libdrgn: use splay tree for memory reader
The current array-based memory reader has a bug in the following
scenario:

    prog.add_memory_segment(0xffff0000, 128, ...)
    # This should replace a subset of the first segment.
    prog.add_memory_segment(0xffff0020, 32, ...)
    # This moves the first segment back to the front of the array.
    prog.read(0xffff0000, 32)
    # This finds the first segment instead of the second segment.
    prog.read(0xffff0032, 32)

Fix it by using the newly-added splay tree. This also splits up the
virtual and physical memory segments into separate trees.
2019-05-24 17:48:08 -07:00
..
docstrings.h libdrgn: make load_debug_info() API saner 2019-05-13 15:04:27 -07:00
drgnpy.h libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
error.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
module.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
object.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
program.c libdrgn: use splay tree for memory reader 2019-05-24 17:48:08 -07:00
symbol.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
test.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
type.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00
util.c libdrgn: make program components pluggable 2019-05-10 12:41:07 -07:00