Skip to content
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

Implement macaw-riscv-symbolic #411

Merged
merged 3 commits into from
Jul 26, 2024
Merged

Conversation

RyanGlScott
Copy link
Contributor

This adds the necessary plumbing to simulate Macaw-lifted RISC-V binaries using macaw-symbolic. This proves relatively straightforward, given that RISC-V does not have a lot of special primitive functions or statements to deal with. I have also added a basic test suite to ensure that macaw-riscv-symbolic works on end-to-end examples.

Fixes #409.

This adds the necessary plumbing to simulate Macaw-lifted RISC-V binaries using
`macaw-symbolic`. This proves relatively straightforward, given that RISC-V
does not have a lot of special primitive functions or statements to deal with.
I have also added a basic test suite to ensure that `macaw-riscv-symbolic`
works on end-to-end examples.

Fixes #409.
@RyanGlScott RyanGlScott added symbolic-execution Issues relating to macaw-symbolic and symbolic execution arch:riscv RISC-V issues labels Jul 26, 2024
Copy link
Contributor

@Ptival Ptival left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can't follow all details, but overall this all looks reasonable to me.

macaw-riscv-symbolic/ChangeLog.md Show resolved Hide resolved
…rror

See #412 for the remaining task of
allowing the return types of `GenArchVals`' `{lookup,update}Reg` functions to
indicate the possibility of an error.
@RyanGlScott RyanGlScott merged commit 1a2b928 into master Jul 26, 2024
3 checks passed
@RyanGlScott RyanGlScott deleted the T409-macaw-riscv-symbolic branch July 26, 2024 19:25
RyanGlScott added a commit to GaloisInc/macaw-loader that referenced this pull request Jul 26, 2024
This bumps the `macaw` submodule to bring in the changes from
GaloisInc/macaw#411, which is a prerequisite to being able to implement
`macaw-loader-riscv` (see #13). This also requires bumping the `crucible`,
`elf-edit`, `llvm-pretty`, and `what4` submodules in order to construct a build
plan that is consistent with the latest `macaw` commit.
RyanGlScott added a commit to GaloisInc/macaw-loader that referenced this pull request Jul 26, 2024
This bumps the `macaw` submodule to bring in the changes from
GaloisInc/macaw#411, which is a prerequisite to being able to implement
`macaw-loader-riscv` (see #13). This also requires bumping the `crucible`,
`elf-edit`, `llvm-pretty`, and `what4` submodules in order to construct a build
plan that is consistent with the latest `macaw` commit.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch:riscv RISC-V issues symbolic-execution Issues relating to macaw-symbolic and symbolic execution
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add macaw-riscv-symbolic package
3 participants