Closed graux-pierre closed 6 months ago
Thank you for the contribution. Can you reenable the plugin build in the CI https://github.com/radareorg/radare2-extras/blob/master/.github/workflows/ci.yml please?
Love it! Thanks for the fixes! Let’s get them merged before enabling it in the ci. So we can have some extra testing later on.
Thank you for the merge! Pull requests for the CI are made.
Checklist
Description
Hello,
Theses commits translate the vc4 plugin that is no longer compatible with radare2 libr (see the above issue) and add analysis information. They also remove previous warnings. ESIL information remains empty. The plugin has been tested using
r2pm
and corresponding modifications for radare2-pm repository are ready (here) because themake
command has changed.This pull request is marked as draft because it has the following flaws:
retrieval of the registers and immediate values used in an instruction is done manually, as for the blackfin architecture (libr/asm/p/arch_blackfin.c). That is, the instruction strings itself is parsed. This is of course sub-optimal but is way easier than digging into the CGEN code of the architecture to retrieve the required information.
The following code, that seems to be frequently used in vc4 binaries, isn't handled: the target of the branch isn't detected. I'm not sure if it's because analysis information isn't enough and constant propagation requires ESIL information.
The following code, that also seems to be frequently used in vc4 binaries, isn't handled. I have the same interrogations regarding the ESIL information. In this case, I could mark all
pop pc
instructions as return instructions but it's too restrictive.Best,