Commit Graph

19 Commits

Author SHA1 Message Date
Benjamin Moir
41c391ef0c Fix some output weirdness 2024-01-10 05:18:32 +10:00
Benjamin Moir
0b451b8764 Improve union detection 2024-01-10 03:49:24 +10:00
Benjamin Moir
6c0135789a Add comments to signify inferred types 2024-01-10 03:38:05 +10:00
Benjamin Moir
0a9f0c205e Infer anonymous unions from type layout 2024-01-10 03:01:07 +10:00
Benjamin Moir
9f8c55efe9 Support anonymous type names as seen in PS2 DWARF (#25) 2024-01-07 08:36:34 -07:00
Benjamin Moir
6b59c677d4 Add support for MwOverlayBranch (#24)
* Add support for MwOverlayBranch

* Make clippy happy

* cargo fmt
2024-01-07 08:02:01 -07:00
458d0599f5 dwarf dump: Emit address range for compile units and functions 2024-01-06 17:51:09 -07:00
Benjamin Moir
dd23fef4f7 Support some more MetroWerkz DWARF extensions (#22)
* Support FT_MW_int128

* Support OP_MW_FPREG

* Support AT_MW_mangled on local variables

* cargo fmt

---------

Co-authored-by: Luke Street <luke@street.dev>
2024-01-02 10:33:07 -07:00
Sewer
d43b95a0e4 Added: Support for Little Endian DWARF, Inline Arrays & Additional MetroWerks Extensions (#14)
* Added: Minimal Required Changes to Dump Sonic Heroes (PS2)

* Added: Switch for Little Endian DWARF Dump

* Added: Support for Array Ordering

* Added: Big/Little Endian Variants of u32_from_bytes

* Changed: Detect bitness from .elf header.

* Changed: Use Proper MetroWerks Names

* Changed: Use Endianness from File API

* Refactor DWARF endian handling & some fixes

* Undo accidental formatting changes

---------

Co-authored-by: Luke Street <luke@street.dev>
2023-12-11 13:07:29 -05:00
4cb6f4f85d dwarf dump: Better support for GCC/ProDG & various fixes
- Displays subroutine "static" and "inline" if present
- Displays subroutine labels, blocks and inlines if present
- Displays struct member visibility if present
- Skips tags that can't be processed rather than bailing
2023-11-27 16:35:12 -05:00
e3d6ef8492 dwarf dump: Fix padding handling within tag children
Fixes #9
2023-11-22 12:59:03 -05:00
c8a2d4896a dwarf dump: Fix reversed struct/class in def
Fixes #10
2023-11-22 12:21:24 -05:00
5e13998e93 Major dwarf dump rework
- Supports games with C++ DWARF info
- Syntax highlighting when printing to console (disable with `--no-color`)
- Overall improvements to parsing and output
2023-11-18 13:56:58 -05:00
ec4caf5000 Smarter configuration updates
- Avoid overwriting `symbols.txt` or `splits.txt` if the file was modified since it was read or if the file's contents didn't change.
- Remove `binrw` and `byteorder` dependencies, moving to `FromReader`/`ToWriter` traits.
- Migrate generic bounds to `where` clauses.
- Remove unused `build.rs` logic.
2023-11-07 23:21:59 -05:00
6b81faa5e1 dwarf dump: More register names, fix padding handling 2023-08-02 18:29:03 -04:00
0fa0aafaea 6 months of occasional work I guess 2023-07-21 17:59:07 -04:00
f1b4afa885 Add dwarf dump cmd 2023-02-14 21:50:23 -05:00
830f7b172f Reorganize files; start RSO support; config & split updates 2023-01-27 23:15:52 -05:00
d864b0e395 Very experimental analyzer, DOL & REL support, function signatures 2023-01-18 12:52:38 -08:00