diff options
author | 2018-09-17 22:43:00 +0200 | |
---|---|---|
committer | 2018-09-17 13:43:00 -0700 | |
commit | c025f81a0141a710c8cfa6d4a523c79ed9a9765e (patch) | |
tree | 11c91e1839af8d1662cb5a0628f29665ae67423c /projects/keystone | |
parent | 0742d90cabb753a5810e200f467a44c78ac010bc (diff) |
[keystone] Adds project Keystone (#1813)
* Adds keystone project
* Uses keystone main repo
After https://github.com/keystone-engine/keystone/pull/371
Diffstat (limited to 'projects/keystone')
-rw-r--r-- | projects/keystone/Dockerfile | 22 | ||||
-rwxr-xr-x | projects/keystone/build.sh | 35 | ||||
-rw-r--r-- | projects/keystone/project.yaml | 8 |
3 files changed, 65 insertions, 0 deletions
diff --git a/projects/keystone/Dockerfile b/projects/keystone/Dockerfile new file mode 100644 index 00000000..3d0bbaeb --- /dev/null +++ b/projects/keystone/Dockerfile @@ -0,0 +1,22 @@ +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +FROM gcr.io/oss-fuzz-base/base-builder +MAINTAINER keystone.engine@gmail.com +RUN apt-get update && apt-get install -y make cmake +RUN git clone --depth 1 https://github.com/keystone-engine/keystone.git +WORKDIR $SRC +COPY build.sh $SRC/ diff --git a/projects/keystone/build.sh b/projects/keystone/build.sh new file mode 100755 index 00000000..be328c19 --- /dev/null +++ b/projects/keystone/build.sh @@ -0,0 +1,35 @@ +#!/bin/bash -eu +# Copyright 2018 Google Inc. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +################################################################################ + +#builds project +cd keystone +mkdir build +cd build +cmake .. +make + +# build fuzz target +cd ../suite/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 + + $CXX $CXXFLAGS fuzz_$target.o -o $OUT/fuzz_$target ../../build/llvm/lib/libkeystone.a -lFuzzingEngine + + #TODO corpuses + cp fuzz_asm.options $OUT/fuzz_$target.options +done diff --git a/projects/keystone/project.yaml b/projects/keystone/project.yaml new file mode 100644 index 00000000..105389bf --- /dev/null +++ b/projects/keystone/project.yaml @@ -0,0 +1,8 @@ +homepage: "https://www.keystone-engine.org" +primary_contact: "keystone.engine@gmail.com" +auto_ccs : "p.antoine@catenacyber.fr" + +sanitizers: +- address +- memory +- undefined |