-
-
Notifications
You must be signed in to change notification settings - Fork 363
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Evm support #3368
Evm support #3368
Conversation
librz/analysis/p/analysis_evm_cs.c
Outdated
omode = mode; | ||
} | ||
if (handle == 0) { | ||
ret = cs_open(CS_ARCH_SPARC, mode, &handle); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Defininetly not SPARC
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The first goal is to just register that arch and anal plugins in the core. The whole logic is completely untouched yet.
librz/analysis/p/analysis_evm_cs.c
Outdated
#define INSOP(n) insn->detail->sparc.operands[n] | ||
#define INSCC insn->detail->sparc.cc | ||
|
||
static void opex(RzStrBuf *buf, csh handle, cs_insn *insn) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can remove this handler completely
@XVilka I've posted the questions at mattermost, but let me duplicate it here. How should i register both arch and analysis plugin in the system? At the current state none of them are available in anywhere. All of the follow are failing:
They also doesn't appears on UPD: Nah, found it. |
librz/asm/p/asm_evm_cs.c
Outdated
.license = "BSD", | ||
.arch = "evm", | ||
.cpus = "v9", | ||
.bits = 256, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Failed to support that value. EVM word length and integer is 256 at most.
It's probably better to wait first once auto-sync work is merged first, since we will update capstone after that: |
It will also need tests |
@XVilka I consider to not use capstone one as the back for EVM since last time I've checked it had outdated opcodes set. |
@yaroslavyaroslav Is this LLVM fork up to date? Because in this case I would also recommend to wait until I finish the docs for auto-sync (in the next two or three days) and use |
@Rot127 At a glance view yes it is. Thank you for pointing me out to that one. And thank you, I'll be waiting till your work will be done. |
@yaroslavyaroslav Just pushed the documentation (capstone-engine/capstone@4780416). You are very much welcome to give feedback or even start implementing. |
@yaroslavyaroslav Can I add you to the list here: capstone-engine/capstone#2015? |
Likely yes, but I plan to get back to that work somewhere around July. So I hope there's no rush there. |
Alright. Then I leave you off the list for now. Please just don't forget to ping us when you start. Just in case someone else already started. |
469cf19
to
46b59b0
Compare
Sorry folks, I've completely out of this now, so there's no chance that I finish this PR. |
Your checklist for this pull request
Detailed description
...
Test plan
...
Closing issues
...