diff options
| author | blasty <blasty@local> | 2026-07-26 20:35:41 +0200 |
|---|---|---|
| committer | blasty <blasty@local> | 2026-07-26 20:35:41 +0200 |
| commit | e02dae30a36a730620740bea195bb8eeba40d8bd (patch) | |
| tree | 638b777bf1fcee0079fe92aade8974f93f678e5a /tools/verify_procs.py | |
| parent | decomp: say WHY a function won't decompile (diff) | |
| download | ida-tui-e02dae30a36a730620740bea195bb8eeba40d8bd.tar.gz ida-tui-e02dae30a36a730620740bea195bb8eeba40d8bd.tar.xz ida-tui-e02dae30a36a730620740bea195bb8eeba40d8bd.zip | |
decomp: say the FIX, not the diagnosis
The 64-bit failure now reported Hex-Rays verbatim — "only 64-bit functions can
be decompiled in the current database" — with the actionable half appended after
it. A status bar cuts off the end, so the user got a perfect description of their
problem and nothing about what to do, which is the same dead end as before with
extra words.
before: sub_0: cannot decompile — only 64-bit functions can be decompiled in
the current database — Ctrl+L and pick arm:ARMv7-A (125 chars)
after: sub_0: cannot decompile — this database is 64-bit — Ctrl+L, pick
arm:ARMv7-A (76 chars)
For this one failure the instruction IS the whole message: it can't be fixed in
place (bitness is decided at load), so describing the database serves nobody.
Other Hex-Rays reasons still pass through verbatim — they're usually about the
function, and there the description is the useful part.
Verified the whole path in a live pane on experiments/fibonacci.bin: the load
dialog now shows arm vs arm:ARMv7-A/M/v6-M/v5TE with their bitness spelled out,
picking arm:ARMv7-A gives 54 functions, and sub_0 decompiles:
void __fastcall __noreturn sub_0(int a1) { ... v2 = sub_E3C(a1, 0); ... }
tests: thumb (16) now asserts the message names the fix rather than quoting
Hex-Rays, and that it fits under 110 chars — the truncation is what made the
last version useless, so it's worth a check. 209/0 scenarios, 30/0 blob.
Diffstat (limited to 'tools/verify_procs.py')
0 files changed, 0 insertions, 0 deletions
