aboutsummaryrefslogtreecommitdiff
path: root/projects
diff options
context:
space:
mode:
authorCurtis Malainey <cujomalainey@chromium.org>2020-12-14 15:40:07 -0800
committerGitHub <noreply@github.com>2020-12-14 15:40:07 -0800
commit6d69c3d70417c22e820f0e0cc30173ed5aa483d2 (patch)
tree07be905457440fcac73e09da03e2bf21dc45b815 /projects
parent6a16527aee2be1597673f404f9af74c33becc671 (diff)
downloadoss-fuzz-6d69c3d70417c22e820f0e0cc30173ed5aa483d2.tar.gz
sound-open-firmware: add build files (#4527)
Initial build files for sound open firmware fuzzer
Diffstat (limited to 'projects')
-rw-r--r--projects/sound-open-firmware/Dockerfile58
-rw-r--r--projects/sound-open-firmware/build.sh30
-rw-r--r--projects/sound-open-firmware/project.yaml4
3 files changed, 92 insertions, 0 deletions
diff --git a/projects/sound-open-firmware/Dockerfile b/projects/sound-open-firmware/Dockerfile
new file mode 100644
index 000000000..29bf7cd0e
--- /dev/null
+++ b/projects/sound-open-firmware/Dockerfile
@@ -0,0 +1,58 @@
+# Copyright 2020 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Copyright 2020 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
+
+RUN apt-get -y update && \
+ apt-get install -y \
+ autoconf \
+ bison \
+ build-essential \
+ flex \
+ gawk \
+ gettext \
+ git \
+ gperf \
+ help2man \
+ libncurses5-dev \
+ libssl-dev \
+ libtool \
+ libtool-bin \
+ pkg-config \
+ software-properties-common \
+ texinfo \
+ udev \
+ cmake \
+ libglib2.0-dev
+
+ARG CLONE_DEFAULTS="--depth 5"
+
+# Use ToT alsa utils for the latest topology patches.
+RUN cd /tmp && \
+git clone $CLONE_DEFAULTS https://github.com/thesofproject/alsa-lib.git && \
+git clone $CLONE_DEFAULTS https://github.com/thesofproject/alsa-utils.git && \
+cd /tmp/alsa-lib && ./gitcompile && make install && \
+cd /tmp/alsa-utils && ./gitcompile && make install
+
+ARG GITHUB_SOF=https://github.com/thesofproject
+
+RUN cd $SRC && git clone $CLONE_DEFAULTS $GITHUB_SOF/sof
+WORKDIR sof
+COPY build.sh $SRC/
diff --git a/projects/sound-open-firmware/build.sh b/projects/sound-open-firmware/build.sh
new file mode 100644
index 000000000..51cf27866
--- /dev/null
+++ b/projects/sound-open-firmware/build.sh
@@ -0,0 +1,30 @@
+#!/bin/bash -eux
+# Copyright 2020 The Chromium Authors. All rights reserved.
+# Use of this source code is governed by a BSD-style license that can be
+# found in the LICENSE file.
+#
+# Copyright 2020 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.
+#
+################################################################################
+
+cd $SRC/sof/tools/oss-fuzz
+cp corpus/* $OUT/
+rm -rf build_oss_fuzz
+mkdir -p build_oss_fuzz
+cd build_oss_fuzz
+
+export VERBOSE=1
+cmake -DCMAKE_INSTALL_PREFIX=install -DCMAKE_LINKER=$CXX -DCMAKE_C_LINK_EXECUTABLE="<CMAKE_LINKER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> <LINK_LIBRARIES>" ..
+make install -j $(nproc)
diff --git a/projects/sound-open-firmware/project.yaml b/projects/sound-open-firmware/project.yaml
index b1e1b4d84..dbef99ac5 100644
--- a/projects/sound-open-firmware/project.yaml
+++ b/projects/sound-open-firmware/project.yaml
@@ -3,3 +3,7 @@ primary_contact: "cujomalainey@chromium.org"
language: c
auto_ccs:
- "ranjani.sridharan@intel.corp-partner.google.com"
+fuzzing_engines:
+ - libfuzzer
+ - honggfuzz
+main_repo: "https://github.com/thesofproject/sof"