Updating the project RISC-V asm and analysis capabilities#5482
Merged
Conversation
moste00
requested review from
Rot127,
kazarmy,
ret2libc,
thestr4ng3r and
wargio
as code owners
October 26, 2025 23:56
wargio
reviewed
Oct 27, 2025
wargio
reviewed
Oct 27, 2025
wargio
reviewed
Oct 27, 2025
wargio
reviewed
Oct 27, 2025
wargio
reviewed
Oct 27, 2025
wargio
marked this pull request as draft
October 27, 2025 04:42
Rot127
requested changes
Oct 31, 2025
moste00
force-pushed
the
feature/update_capstone_riscv
branch
from
November 29, 2025 20:12
7f4c55c to
1e5730c
Compare
notxvilka
reviewed
Dec 5, 2025
moste00
force-pushed
the
feature/update_capstone_riscv
branch
from
December 21, 2025 02:45
b2c38f8 to
4e63a52
Compare
notxvilka
requested changes
Dec 21, 2025
notxvilka
requested changes
Jan 4, 2026
notxvilka
left a comment
Contributor
There was a problem hiding this comment.
Please don't forget to remove the old GNU plugin. I recommend squashing it into two commits:
- one is to remove old RISC-V GNU plugins
- second is to add new plugins
Rot127
requested changes
Jan 5, 2026
Rot127
left a comment
Member
There was a problem hiding this comment.
I just recognized that this whole effort means the RISCV features in Capstone are not well enough defined I think. Rizin is the first tool using the new CS plugin and implements a work around for the features? This is not a good sign.
@moste00 I didn't recognized this when we talked in Mattermost, but I think we should at least consider using alternatives.
Rot127
requested changes
Jan 11, 2026
moste00
force-pushed
the
feature/update_capstone_riscv
branch
from
February 8, 2026 01:04
7d7e1a1 to
2483401
Compare
notxvilka
requested changes
Feb 8, 2026
moste00
force-pushed
the
feature/update_capstone_riscv
branch
7 times, most recently
from
February 11, 2026 23:22
a93003a to
62ecb00
Compare
notxvilka
requested changes
Feb 15, 2026
moste00
force-pushed
the
feature/update_capstone_riscv
branch
5 times, most recently
from
February 15, 2026 22:28
32f34ed to
b4b1420
Compare
Contributor
|
@moste00 please:
Then we can merge |
moste00
force-pushed
the
feature/update_capstone_riscv
branch
from
February 16, 2026 16:10
b4b1420 to
d85fd18
Compare
notxvilka
approved these changes
Feb 16, 2026
notxvilka
requested changes
Feb 16, 2026
moste00
force-pushed
the
feature/update_capstone_riscv
branch
from
February 16, 2026 17:50
d85fd18 to
85b3930
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Your checklist for this pull request
RZ_APIfunction and struct this PR changes.RZ_API).Detailed description
As per #5275, this PR builds on the refactored Capstone RISCV plugin in capstone-engine/capstone#2756 and propagates the change to Rizin, adding lots of Rizin-specific capbilities.
(1- AI Disclosure) I use Gemini CLI in the context of the codebase, mostly or almost exclusively for read-only type of usage: as an intelligent search engine to navigate and query the codebase, I almost always reject edit requests by it. I also use Claude Web for general questions, routine text editing, and other context-free tasks.
(2- Diff Density) I expect most of the changes to be concentrated heavily in the
analysis-riscv-cs.cfile, because this file wasn't updated in 5 years and is in heavy need for updates to take advantage of the new Capstone module, however the first state of this PR mostly focuses on minimal changes to get it to compile and pass tests, most of the diff is instead build file glue and tests modification.(3- Temp Changes) Some changes are temporary and won't survive the merging of this PR, for example a legacy GNU plugin is kept as-is to reduce diff noise but just renamed to
riscv.gnuso it's not the default (and the RISCV plugin is renamed toriscvfromriscv.cs), and some build system logic is added so that we can build with a local development version of Capstone instead of a published release.Test plan
With the exception of relevant tests under
db/esil, all old tests are relevant and will be kept and made to pass. New tests must be added from a variety of source to ensure the new capabilities. This section is evolving as more tests are added.NOTE, to any reviewer running locally: Change the local path in
subprojects/capstone-capstone-riscv-updated.wrapto a Capstone archive containing the RISCV updates.Closing issues
** Depedents **
Depends-on: rizinorg/rizin-testbins#223
Depends-on: #5666
Depends-on: capstone-engine/capstone#2756