AngoraFuzzer / Angora

Angora is a mutation-based fuzzer. The main goal of Angora is to increase branch coverage by solving path constraints without symbolic execution.
Apache License 2.0
925 stars 167 forks source link

32 bit compilation #85

Open GrosQuildu opened 4 years ago

GrosQuildu commented 4 years ago

Good morning,

Does Angora support 32-bit targets / builds?

Like:

CC=$ANGORA/bin/angora-clang ./configure --prefix=`pwd`/install --disable-shared "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32"

, which fails in my environment, because Angora libs are 64bits:

/usr/bin/ld: ./Angora/bin/lib/libruntime_fast.a(runtime_fast-d39a4de5e860747f.runtime_fast.9lmpyn81-cgu.11.rcgu.o): file class ELFCLASS64 incompatible with ELFCLASS32

Also can't build 32-bit version of Angora with:

cargo build --target=i686-unknown-linux-gnu
cargo build --release --target=i686-unknown-linux-gnu

because the build fails at https://github.com/AngoraFuzzer/Angora/blob/cd5439f383582b30c93def0f712a05ab9284ec25/fuzzer/src/executor/limit.rs#L23 with "expected u32, found u64".

Any option to do that?

spinpx commented 4 years ago

Sorry, Angora doesn't support 32bit now. I will improve it in my plan. Thanks for your suggestion.