Closed
Description
I follow the step to build frida_libpng, but still get some error.
The steps:
- Download standalone toolchain, and run the following:
android-ndk-r25c/build/tools/make_standalone_toolchain.py --arch arm64 --api 21 --install-dir /opt/android-toolchain-arm64
- Add installed toolchain to PATH
export PATH=$PATH:/opt/android-toolchain-arm64/bin
- In the ~/.cargo/config file add a target with the correct cross-compiler toolchain name
[target.aarch64-linux-android]
linker="aarch64-linux-android-clang"
CLANG_PATH=aarch64-linux-android-clang cargo -v build --release --target=aarch64-linux-android
After build , this is what I see:
Fresh color-backtrace v0.5.1
Fresh libafl_targets v0.10.1 (/opt/LibAFL/libafl_targets)
Fresh mimalloc v0.1.37
Fresh libloading v0.7.4
Fresh libafl_frida v0.10.1 (/opt/LibAFL/libafl_frida)
warning: variable does not need to be mutable
--> /opt/LibAFL/libafl_frida/src/asan/asan_rt.rs:1671:13
|
1671 | let mut map_flags = MapFlags::MAP_ANON | MapFlags::MAP_PRIVATE;
| ----^^^^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` on by default
warning: `libafl_frida` (lib) generated 1 warning (run `cargo fix --lib -p libafl_frida` to apply 1 suggestion)
Compiling frida_fuzzer v0.10.1 (/opt/LibAFL/fuzzers/frida_libpng)
Running `rustc --crate-name frida_fuzzer --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=212 --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C codegen-units=1 -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=ba49c74d1f693fcc -C extra-filename=-ba49c74d1f693fcc --out-dir /opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps --target aarch64-linux-android -C linker=aarch64-linux-android-clang -L dependency=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps -L dependency=/opt/LibAFL/fuzzers/frida_libpng/target/release/deps --extern color_backtrace=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/libcolor_backtrace-933b6cfa5717b58c.rlib --extern frida_gum=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/libfrida_gum-fa428b0b861f2aa3.rlib --extern libafl=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibafl-1274e6c3426fc553.rlib --extern libafl_frida=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibafl_frida-ba28a5fcc5e10f3e.rlib --extern libafl_targets=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibafl_targets-86b3a0df5b236e2a.rlib --extern libloading=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibloading-0c48db23b336eec6.rlib --extern mimalloc=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/libmimalloc-b2af5d3d01aa1788.rlib -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/capstone-sys-134738c58aa04621/out -L /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/frida-gum-sys-0.4.1 -L /opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_frida-21aaf2b3bab8362b/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libmimalloc-sys-25472505475483b3/out`
error: linking with `aarch64-linux-android-clang` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/opt/android-toolchain-arm64/bin" VSLANG="1033" "aarch64-linux-android-clang" "/tmp/rustc8myApW/symbols.o" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/frida_fuzzer-ba49c74d1f693fcc.frida_fuzzer.8663365b-cgu.0.rcgu.o" "-Wl,--as-needed" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/release/deps" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/capstone-sys-134738c58aa04621/out" "-L" "/root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/frida-gum-sys-0.4.1" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_frida-21aaf2b3bab8362b/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out" "-L" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libmimalloc-sys-25472505475483b3/out" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-Wl,-Bstatic" "/tmp/rustc8myApW/liblibafl_frida-ba28a5fcc5e10f3e.rlib" "/tmp/rustc8myApW/liblibafl_targets-86b3a0df5b236e2a.rlib" "/tmp/rustc8myApW/libcapstone_sys-122ca0d02c4f0e71.rlib" "/tmp/rustc8myApW/libfrida_gum_sys-b2f8988d8c7b9e24.rlib" "/tmp/rustc8myApW/liblibmimalloc_sys-a68625ecab01c9f0.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib/libcompiler_builtins-e9996a2f967dd691.rlib" "-Wl,-Bdynamic" "-ldl" "-lc++" "-ldl" "-llog" "-lunwind" "-ldl" "-lm" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/aarch64-linux-android/lib" "-o" "/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/frida_fuzzer-ba49c74d1f693fcc" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs"
= note: ld: error: undefined symbol: __clear_cache
>>> referenced by gummemory-linux.c:120 (../../../frida-gum/gum/backend-linux/gummemory-linux.c:120)
>>> backend-linux_gummemory-linux.c.o:(gum_clear_cache) in archive /tmp/rustc8myApW/libfrida_gum_sys-b2f8988d8c7b9e24.rlib
clang140: error: linker command failed with exit code 1 (use -v to see invocation)
error: could not compile `frida_fuzzer` (bin "frida_fuzzer") due to previous error
Caused by:
process didn't exit successfully: `rustc --crate-name frida_fuzzer --edition=2021 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --diagnostic-width=212 --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C codegen-units=1 -C debuginfo=2 --cfg 'feature="default"' --cfg 'feature="std"' -C metadata=ba49c74d1f693fcc -C extra-filename=-ba49c74d1f693fcc --out-dir /opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps --target aarch64-linux-android -C linker=aarch64-linux-android-clang -L dependency=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps -L dependency=/opt/LibAFL/fuzzers/frida_libpng/target/release/deps --extern color_backtrace=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/libcolor_backtrace-933b6cfa5717b58c.rlib --extern frida_gum=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/libfrida_gum-fa428b0b861f2aa3.rlib --extern libafl=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibafl-1274e6c3426fc553.rlib --extern libafl_frida=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibafl_frida-ba28a5fcc5e10f3e.rlib --extern libafl_targets=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibafl_targets-86b3a0df5b236e2a.rlib --extern libloading=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/liblibloading-0c48db23b336eec6.rlib --extern mimalloc=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/deps/libmimalloc-b2af5d3d01aa1788.rlib -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/capstone-sys-134738c58aa04621/out -L /root/.cargo/registry/src/index.crates.io-6f17d22bba15001f/frida-gum-sys-0.4.1 -L /opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/frida-gum-sys-6724fdf991355945/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_frida-21aaf2b3bab8362b/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libafl_targets-ab6aa4634bae321a/out -L native=/opt/LibAFL/fuzzers/frida_libpng/target/aarch64-linux-android/release/build/libmimalloc-sys-25472505475483b3/out` (exit status: 1)
Any idea what I might be doing wrong?
Metadata
Metadata
Assignees
Labels
No labels