Commit Graph

51 Commits

Author SHA1 Message Date
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
Léo Lam a344367b01
tools: Fix Python 3.6 compatibility 2020-08-21 14:16:32 +02:00
Léo Lam 26183142b1
Update instructions, fix diff settings and add asm-differ
...to simplify setup a bit
2020-08-21 12:16:06 +02:00
Léo Lam 3ff4e8db65
tools: Also show percentage of matching code in terms of code size 2020-08-21 11:28:25 +02:00