You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm trying to get started in fuzzing with qemu_systemmode and am currently struggling with setting up a build environment.
When building and running the Dockerfile with docker build -t libafl . && docker run --rm -it -- "cd fuzzers/qemu_systemmode" I encounter errors of the following shape:
error[E0308]: arguments to this function are incorrect
--> /libafl/libafl_qemu/src/emu.rs:1424:23
|
1424 | let num = libafl_qemu_sys::libafl_add_edge_hook(gen, exec, data);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: expected unsafe fn, found normal fn
--> /libafl/libafl_qemu/src/emu.rs:1424:61
|
1424 | let num = libafl_qemu_sys::libafl_add_edge_hook(gen, exec, data);
| ^^^
= note: expected enum `std::option::Option<unsafe extern "C" fn(_, _, _) -> _>`
found enum `std::option::Option<extern "C" fn(_, _, _) -> _>`
So I changed the LLVM version back to 17, set the toolchain to stable, installed all dependencies and set all environment variables. However, the build still keeps failing with the same error message.
Any pointers, or even the confirmation that this is not just an issue for me would be greatly appreciated.
PS: I had a patch that I had to revert because it broke the qemu_fuzzers CI job but made my local build pass. However, I'd like to avoid carrying a patch on top of LibAFL and also don't feel confident that this fixes the underlying issue.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Hey everyone,
I'm trying to get started in fuzzing with qemu_systemmode and am currently struggling with setting up a build environment.
When building and running the Dockerfile with
docker build -t libafl . && docker run --rm -it -- "cd fuzzers/qemu_systemmode"
I encounter errors of the following shape:indicating that bindgen generated something as an
unsafe fn
but the code expects a regularfn
I then saw the
qemu_fuzzers
CI job and tried to emulate its setup builds the same code successfully.So I changed the LLVM version back to 17, set the toolchain to stable, installed all dependencies and set all environment variables. However, the build still keeps failing with the same error message.
My checklist for further reference:
rustup default stable
cargo install ucd-generate cargo-make wasm-pack
apt install python3-pip && pip3 install --break-system-packages msgpack jinja2 find_libpython
export MAKEFLAGS="-j$(expr $(nproc) \+ 1)"
apt-get install chromium
Any pointers, or even the confirmation that this is not just an issue for me would be greatly appreciated.
PS: I had a patch that I had to revert because it broke the
qemu_fuzzers
CI job but made my local build pass. However, I'd like to avoid carrying a patch on top of LibAFL and also don't feel confident that this fixes the underlying issue.Beta Was this translation helpful? Give feedback.
All reactions