Yuri D'Elia
8455c8e585
tools: Add/fix documentation
2021-07-30 06:38:12 +02:00
Yuri D'Elia
43b9a2d3df
dump: do not hard-code constants
2021-07-30 06:38:12 +02:00
Yuri D'Elia
11a6ac2f4f
dump parsing: refuse to continue on incomplete D23 dumps
...
We should try harder to handle incomplete D21/D23 dumps in the future,
but until D21 handled too, bail in D23 as well.
2021-07-30 06:38:12 +02:00
Yuri D'Elia
500515eb0a
Add GDB utility functions to load/inspect binary dumps
2021-07-30 06:38:12 +02:00
Yuri D'Elia
06eab4ac11
Handle XFLASH (D21) and serial (D23) dumps in elf_mem_map, add dump2bin
...
- Uniformly parse D2/D21/D23 dump types.
- Add dump2bin to parse/convert a dump into metadata and binary.
- Move the parsing into it's own module in order to be shared.
2021-07-30 06:38:12 +02:00
Yuri D'Elia
9f40fa6834
elf_mem_map: parse D23 output directly
2021-07-30 06:38:12 +02:00
Yuri D'Elia
8ec4104840
elf_mem_map: do not output registers in qdirstat output
2021-07-30 06:38:12 +02:00
Yuri D'Elia
d98e1b1cd9
elf_mem_map: uniquify file names in qdirstat output
2021-07-30 06:38:12 +02:00
Yuri D'Elia
9917689fdf
tools: update documentation for elf_mem_map
2021-07-30 06:38:12 +02:00
Yuri D'Elia
9958c449e3
elf_mem_map: remove DWARF version except in help
...
Fix version to DWARF3, which is what we actually support.
2021-07-30 06:38:12 +02:00
Yuri D'Elia
54e24036a8
elf_mem_map: add qdirstat output for space visualization
2021-07-30 06:38:12 +02:00
Yuri D'Elia
676b925c5f
elf_mem_map: cleanup
2021-07-30 06:38:12 +02:00
Yuri D'Elia
7bdee552ce
elf_mem_map: add declaration position in --map
2021-07-30 06:38:12 +02:00
Yuri D'Elia
d1720cba51
elf_mem_map: reduce some duplication
2021-07-30 06:38:12 +02:00
Yuri D'Elia
c875aef49c
elf_mem_map: increase width again to fit new output
2021-07-30 06:38:12 +02:00
Yuri D'Elia
71ef94da2e
elf_mem_map: improve alignment of arrays
2021-07-30 06:38:12 +02:00
Yuri D'Elia
cb4f5cff9f
elf_mem_map: improve display of array-of-strings
2021-07-30 06:38:12 +02:00
Yuri D'Elia
776b82a6db
elf_mem_map: expand member arrays
2021-07-30 06:38:12 +02:00
Yuri D'Elia
29513a369d
elf_mem_map: allow to customize the name column's width
2021-07-30 06:38:12 +02:00
Yuri D'Elia
7f76f62af9
elf_mem_map: fix uleb128 decoding (fixes incorrect member offsets)
2021-07-30 06:38:12 +02:00
Yuri D'Elia
a5635997b2
elf_mem_map: allow to annotate overlapping regions for clarity
2021-07-30 06:38:12 +02:00
Yuri D'Elia
1d82d2da64
get_elf_map: do not reprocess members twice
2021-07-30 06:38:12 +02:00
Yuri D'Elia
615e8575bb
elf_mem_map: decode structs
2021-07-30 06:38:12 +02:00
Yuri D'Elia
9ddb5991f2
elf_mem_map: allow to disable gap dumps
2021-07-30 06:38:12 +02:00
Yuri D'Elia
bb8d171f34
elf_mem_map: decode integers with correct endianness
2021-07-30 06:38:12 +02:00
Yuri D'Elia
1181e78484
elf_mem_map: handle all pointer types correctly
2021-07-30 06:38:12 +02:00
Yuri D'Elia
c311266a83
elf_mem_map: handle abstract locations
2021-07-30 06:38:12 +02:00
Yuri D'Elia
2718dbb42c
elf_mem_map: array n-dimensional expansion
2021-07-30 06:38:12 +02:00
Yuri D'Elia
29b8c89ec2
elf_mem_map: decode arrays (first dimension)
2021-07-30 06:38:12 +02:00
Yuri D'Elia
1de3fa51c9
elf_mem_map: decode doubles correctly
2021-07-30 06:38:12 +02:00
Yuri D'Elia
40b737e33d
elf_mem_map: switch to a named tuple for extensibility
2021-07-30 06:38:12 +02:00
Yuri D'Elia
f2192dc5e6
elf_mem_dump: fix unknown address
2021-07-30 06:38:12 +02:00
Yuri D'Elia
c321ba4821
elf_mem_map: also dump gaps between known regions
2021-07-30 06:38:12 +02:00
Yuri D'Elia
4c6339ac46
elf_mem_map: decode correctly void pointers
2021-07-30 06:38:12 +02:00
Yuri D'Elia
1095b26570
Add several low-level debugging tools
2021-07-30 06:38:12 +02:00