Commit Graph

54 Commits

Author SHA1 Message Date
Léo Lam 60b457c522
Add script to rename Action virtual functions
Useful to keep function names synchronised between decomp, IDA and the
function CSV
2020-12-26 02:41:01 +01:00
Léo Lam b1d59ba594
tools: Add script to show non-trivial AI class hierarchies 2020-12-25 18:39:03 +01:00
Léo Lam eba2713653
Generate query factories as well 2020-12-23 14:22:24 +01:00
Léo Lam f98d3ee758
Generate stubs for queries 2020-12-22 01:50:49 +01:00
Léo Lam cd6bf1e821
tools/rename_functions_in_ida: Drop support for IDA <7.4 2020-12-18 19:24:35 +01:00
Léo Lam 72e8d72ad2
tools: Remove AI class progress counter
It won't be accurate because the factory functions can and will be
automatically generated.
2020-12-10 00:20:30 +01:00
Léo Lam 3da63099f6
tools: Update asm-differ 2020-12-02 23:02:15 +01:00
Léo Lam a4ea87cb88
tools/util: Ignore unknown data symbols 2020-11-22 20:39:24 +01:00
Léo Lam 601ecd92a1
tools/progress: Add option to print CSV line 2020-11-22 11:54:00 +01:00
Léo Lam 68c9ffeede
tools: Add support for data symbol checking for GOT entries 2020-11-11 17:31:52 +01:00
Léo Lam b53135a885
tools/check: Improve error reporting 2020-11-11 17:00:25 +01:00
Léo Lam 96a8bb104e
tools: Read entire ELF ahead of time to reduce seek/read overhead 2020-11-11 13:54:01 +01:00
Léo Lam 27afd0aa6a
ksys/gdt: Implement Manager increase functions 2020-11-11 12:35:59 +01:00
Léo Lam fc4536b0d3
ksys/gdt: Add reset wrappers to Manager and CommonFlags 2020-11-11 02:04:17 +01:00
Léo Lam b4178ad2b9
tools/check: Only print mismatch details if they exist 2020-11-11 00:58:58 +01:00
Léo Lam d2eab6d2a4
tools: Add IDA script to get rid of function tails 2020-11-11 00:30:24 +01:00
Léo Lam 93b1b17979
Fix matching errors 2020-11-10 21:52:48 +01:00
Léo Lam 7e7a76f926
tools: Print mismatch cause
Makes it easier to identify what's wrong.
2020-11-10 21:35:58 +01:00
Léo Lam dc9b346d7e
tools: Add function call checking 2020-11-10 21:25:45 +01:00
Léo Lam 0a16b78855
data: Add functions that were missed because of IDA's function tail system 2020-11-10 18:48:52 +01:00
Léo Lam 42c9511b11
tools: Update asm-differ 2020-11-10 15:49:55 +01:00
Léo Lam ce5ff17666
tools: Add script to automatically identify matches
Given a list L of functions to identify and a small list of
candidates C, this tool will attempt to automatically identify matches
by checking each function in L against each function in C.

Very slow, but this should work well enough for small lists.
2020-11-09 23:46:57 +01:00
Léo Lam 844db4220c
tools: Do not use a global capstone disassembler instance
Instead, use one instance per function checker.
2020-11-09 21:23:23 +01:00
Léo Lam 5d09d99b1b
tools: Deduplicate code 2020-11-09 19:16:37 +01:00
Léo Lam d5bdc23ef5
ksys/gdt: Fix array getters/setters being generated incorrectly
They were treated as non-array flags.
2020-11-09 17:30:51 +01:00
Léo Lam 607389e86e
ksys/gdt: Fix several issues in the gdtCommonFlags generation script 2020-11-09 16:35:35 +01:00
Léo Lam 441b98a31e
ksys/gdt: Add getFlagGenericBool/S32 2020-11-09 16:22:59 +01:00
Léo Lam f2927c1de8
ksys/gdt: Do not inline gdtCommonFlagsUtils functions 2020-11-09 16:02:22 +01:00
Léo Lam f242ce69ee
ksys/gdt: Add more flag utilities 2020-11-09 15:40:30 +01:00
Léo Lam d87343fd8d
tools: Add a script to print vtables 2020-11-08 22:45:23 +01:00
Léo Lam f918d1f805
tools/check: Handle address differences for str/stp as well 2020-11-07 01:32:31 +01:00
Léo Lam d87fefe1fb
ksys/gdt: Add common flags 2020-11-06 22:21:02 +01:00
Léo Lam c6ff7af2b0
tools/check: Avoid recreating capstone instances all the time 2020-11-01 17:01:09 +01:00
Léo Lam 41cd5cceea
tools/check: Fix adrp_pair_registers not being updated for identical instructions 2020-11-01 16:57:58 +01:00
Léo Lam d0deedac4c
Compare non-matching functions against expected output
This makes it possible to catch regressions for non-matching functions,
especially those that only have minor issues.

This also reclassifies some minor non-matchings as major non-matchings
whenever it's really not obvious to see that they are equivalent.
2020-11-01 15:43:22 +01:00
Léo Lam 9aacce607d
tools: Reformat progress 2020-11-01 14:57:14 +01:00
Léo Lam 6c3158c057
tools: Update asm-differ 2020-10-16 01:28:54 +02:00
Léo Lam f19d229fa4
Check for non-matching functions that now match 2020-10-06 20:30:17 +02:00
Léo Lam f8db98617c
tools: Fix local symbols being ignored by print_decomp_symbols 2020-10-03 22:48:26 +02:00
Léo Lam fd90123f88
ci: Check matching functions for each push and PR build 2020-09-24 18:40:06 +02:00
Léo Lam 218a8da8ba
tools: Add a tool to check all matchings for diffs
And fix some incorrect function entries
2020-09-24 13:55:39 +02:00
Léo Lam 90ae681ae0
tools: Update asm-differ 2020-09-22 23:35:26 +02:00
Léo Lam 39be118a9c
tools/diff: Accept demangled names as well 2020-09-22 18:43:16 +02:00
Léo Lam 5ac991b0e0
tools: Update asm-differ 2020-09-20 17:40:07 +02:00
Léo Lam 78f19ae1d3
tools/generate_bgparamlist_struct: Represent floats with reasonable precision
There's no point in printing 0.0010000000014 (example) instead of 0.001
2020-09-19 23:56:31 +02:00
Léo Lam dccd9cc720
tools/generate_bgparamlist_struct: Generate includes as well
For convenience :)
2020-09-19 22:07:09 +02:00
Léo Lam a97f61f02a
Add a tool to automatically generate GParamList object struct+ctor 2020-09-19 18:44:21 +02:00
Léo Lam 2857102a43
tools: Add a script to rename functions in IDA 2020-09-08 19:22:53 +02:00
Léo Lam 3c06896cfe
tools: Clean up the progress script
And make the output clearer.
2020-09-07 18:34:50 +02:00
Léo Lam 17701b157b
Bundle aarch64-none-elf-objdump 2.33 from Arm to simplify setup
Ubuntu 18.04's objdump is too old (2.30)

devkitA64's objdump is also too old (2.32) and doesn't support
--source-comment
2020-08-21 14:55:59 +02:00