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