Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
pop pc
instructions as return instructions but it's too restrictive.Best,