Commit Graph

38 Commits

Author SHA1 Message Date
Yuri D'Elia
4f40380474 tools: document functions in utils.gdb 2021-07-30 06:38:12 +02:00
Yuri D'Elia
1b22aac9fc tools: add xfimg2dump 2021-07-30 06:38:12 +02:00
Yuri D'Elia
c79b1dcbfa tools: add dump_crash to recover XFLASH crash dumps 2021-07-30 06:38:12 +02:00
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