diff options
Diffstat (limited to 'zkvms/risc0/guest_elf_patch')
| -rw-r--r-- | zkvms/risc0/guest_elf_patch/Cargo.toml | 9 | ||||
| -rw-r--r-- | zkvms/risc0/guest_elf_patch/src/main.rs | 11 |
2 files changed, 20 insertions, 0 deletions
diff --git a/zkvms/risc0/guest_elf_patch/Cargo.toml b/zkvms/risc0/guest_elf_patch/Cargo.toml new file mode 100644 index 0000000..2008faf --- /dev/null +++ b/zkvms/risc0/guest_elf_patch/Cargo.toml @@ -0,0 +1,9 @@ +[package] +name = "guest-elf-patch-risc0" +version = "0.1.0" +edition = "2021" + +[dependencies] +risc0-binfmt = { path = "/nix/store/6992z4qxba51p1m9vjbjvcwh16gvdp56-risc0-unstable-2025-03-12/risc0/binfmt" } +risc0-zkos-v1compat = { path = "/nix/store/6992z4qxba51p1m9vjbjvcwh16gvdp56-risc0-unstable-2025-03-12/risc0/zkos/v1compat" } +bytemuck_derive = "<1.9.0" diff --git a/zkvms/risc0/guest_elf_patch/src/main.rs b/zkvms/risc0/guest_elf_patch/src/main.rs new file mode 100644 index 0000000..6999ab4 --- /dev/null +++ b/zkvms/risc0/guest_elf_patch/src/main.rs @@ -0,0 +1,11 @@ +use risc0_binfmt::ProgramBinary; +use risc0_zkos_v1compat::V1COMPAT_ELF; + +static ELF: &[u8] = include_bytes!("../../host/src/guest"); + +// https://github.com/risc0/risc0/blob/fee2e19a3c49b3da492403de5e2d011c890e52de/risc0/build/src/lib.rs#L179-L187 +fn main() { + let binary = ProgramBinary::new(&ELF, V1COMPAT_ELF); + let elf = binary.encode(); + std::fs::write("../host/src/guest", &elf).expect("couldn't add magic bytes to elf!"); +} |
