aboutsummaryrefslogtreecommitdiffhomepage
path: root/projects/unicorn
diff options
context:
space:
mode:
authorGravatar lazymio <ziqiaokong@gmail.com>2022-02-12 20:42:17 +0100
committerGravatar GitHub <noreply@github.com>2022-02-12 19:42:17 +0000
commit88f220864f633f8fbf8c265c7d56222f72ebe7de (patch)
treef49e3fd0c4f1594f1636326a1b1e0300e63f1aa4 /projects/unicorn
parentae1d1481dd4f0f5f675c701ee536c8e6c67d898a (diff)
Update Unicorn building script and add my email to cc (#6562)
* Update Unicorn building script and add my email to cc * Trivial commit to trigger CI * Remove armeb and aarcheb * Change from 12 to 4 threads to avoid OOM
Diffstat (limited to 'projects/unicorn')
-rw-r--r--projects/unicorn/Dockerfile4
-rwxr-xr-xprojects/unicorn/build.sh38
-rw-r--r--projects/unicorn/project.yaml1
3 files changed, 31 insertions, 12 deletions
diff --git a/projects/unicorn/Dockerfile b/projects/unicorn/Dockerfile
index 1ae7e566..2a981c22 100644
--- a/projects/unicorn/Dockerfile
+++ b/projects/unicorn/Dockerfile
@@ -15,7 +15,7 @@
################################################################################
FROM gcr.io/oss-fuzz-base/base-builder
-RUN apt-get update && apt-get install -y make python
-RUN git clone --depth 1 https://github.com/unicorn-engine/unicorn.git
+RUN apt-get update && apt-get install -y cmake pkg-config make python3
+RUN git clone -b dev --depth 1 https://github.com/unicorn-engine/unicorn.git
WORKDIR $SRC
COPY build.sh $SRC/
diff --git a/projects/unicorn/build.sh b/projects/unicorn/build.sh
index 1123321b..fa7055b3 100755
--- a/projects/unicorn/build.sh
+++ b/projects/unicorn/build.sh
@@ -16,17 +16,35 @@
################################################################################
cd unicorn
-./make.sh
-# we could test with make fuzz
+mkdir build
+cd build
-# build fuzz target
-cd tests/fuzz
-ls fuzz_*.c | cut -d_ -f2-4 | cut -d. -f1 | while read target
-do
- $CC $CFLAGS -I../../include -c fuzz_$target.c -o fuzz_$target.o
+# CC CXX should be auto retrieved by cmake.
+cmake .. -DCMAKE_BUILD_TYPE=Debug -DBUILD_SHARED_LIBS=off -DUNICORN_FUZZ=1
+make -j4
+
+libs="libunicorn.a \
+libx86_64-softmmu.a \
+libaarch64-softmmu.a \
+libarm-softmmu.a \
+libm68k-softmmu.a \
+libmips64el-softmmu.a \
+libmips64-softmmu.a \
+libmipsel-softmmu.a \
+libmips-softmmu.a \
+libppc64-softmmu.a \
+libppc-softmmu.a \
+libriscv32-softmmu.a \
+libriscv64-softmmu.a \
+libsparc64-softmmu.a \
+libsparc-softmmu.a \
+libs390x-softmmu.a \
+libunicorn-common.a"
- $CXX $CXXFLAGS fuzz_$target.o -o $OUT/fuzz_$target ../../libunicorn.a $LIB_FUZZING_ENGINE
- # TODO corpuses
- cp fuzz_emu.options $OUT/fuzz_$target.options
+ls ../tests/fuzz/fuzz_*.c | cut -d_ -f2-4 | cut -d. -f1 | while read target
+do
+ FUZZO=CMakeFiles/fuzz_$target.dir/tests/fuzz/fuzz_$target.c.o
+ $CXX $CXXFLAGS $FUZZO $libs -lpthread -lrt -lm -o $OUT/fuzz_$target $LIB_FUZZING_ENGINE
+ cp ../tests/fuzz/fuzz_emu.options $OUT/fuzz_$target.options
done
diff --git a/projects/unicorn/project.yaml b/projects/unicorn/project.yaml
index 85a546f4..929b11a0 100644
--- a/projects/unicorn/project.yaml
+++ b/projects/unicorn/project.yaml
@@ -5,6 +5,7 @@ auto_ccs:
- "p.antoine@catenacyber.fr"
- "ch980501427@gmail.com"
- "stalkr@stalkr.net"
+ - "mio@lazym.io"
fuzzing_engines:
- libfuzzer
- afl