Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Bug 1325089 - Use clang-4.0 and sancov=trace-pc-guard for fuzzing r=f…
…ranziskus Differential Revision: https://nss-review.dev.mozaws.net/D128 --HG-- extra : amend_source : 6f274d5fedbe17df9346b1179c3306a6daeec324
- Loading branch information
Tim Taubert
committed
Dec 22, 2016
1 parent
e0998c5
commit 070a6b8
Showing
7 changed files
with
134 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
FROM ubuntu:16.04 | ||
MAINTAINER Tim Taubert <ttaubert@mozilla.com> | ||
|
||
RUN useradd -d /home/worker -s /bin/bash -m worker | ||
WORKDIR /home/worker | ||
|
||
# Add build and test scripts. | ||
ADD bin /home/worker/bin | ||
RUN chmod +x /home/worker/bin/* | ||
|
||
# Install dependencies. | ||
ADD setup.sh /tmp/setup.sh | ||
RUN bash /tmp/setup.sh | ||
|
||
# Env variables. | ||
ENV HOME /home/worker | ||
ENV SHELL /bin/bash | ||
ENV USER worker | ||
ENV LOGNAME worker | ||
ENV HOSTNAME taskcluster-worker | ||
ENV LANG en_US.UTF-8 | ||
ENV LC_ALL en_US.UTF-8 | ||
ENV HOST localhost | ||
ENV DOMSUF localdomain | ||
|
||
# Set a default command for debugging. | ||
CMD ["/bin/bash", "--login"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -v -e -x | ||
|
||
if [ $(id -u) = 0 ]; then | ||
# Drop privileges by re-running this script. | ||
exec su worker $0 | ||
fi | ||
|
||
# Default values for testing. | ||
REVISION=${NSS_HEAD_REVISION:-default} | ||
REPOSITORY=${NSS_HEAD_REPOSITORY:-https://hg.mozilla.org/projects/nss} | ||
|
||
# Clone NSS. | ||
for i in 0 2 5; do | ||
sleep $i | ||
hg clone -r $REVISION $REPOSITORY nss && exit 0 | ||
rm -rf nss | ||
done | ||
exit 1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
#!/usr/bin/env bash | ||
|
||
set -v -e -x | ||
|
||
# Update packages. | ||
export DEBIAN_FRONTEND=noninteractive | ||
apt-get -y update && apt-get -y upgrade | ||
|
||
# Need this to add keys for PPAs below. | ||
apt-get install -y --no-install-recommends apt-utils | ||
|
||
apt_packages=() | ||
apt_packages+=('build-essential') | ||
apt_packages+=('ca-certificates') | ||
apt_packages+=('curl') | ||
apt_packages+=('git') | ||
apt_packages+=('gyp') | ||
apt_packages+=('ninja-build') | ||
apt_packages+=('pkg-config') | ||
apt_packages+=('zlib1g-dev') | ||
|
||
# ct-verif and sanitizers | ||
apt_packages+=('valgrind') | ||
|
||
# Latest Mercurial. | ||
apt_packages+=('mercurial') | ||
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 41BD8711B1F0EC2B0D85B91CF59CE3A8323293EE | ||
echo "deb http://ppa.launchpad.net/mercurial-ppa/releases/ubuntu xenial main" > /etc/apt/sources.list.d/mercurial.list | ||
|
||
# Install packages. | ||
apt-get -y update | ||
apt-get install -y --no-install-recommends ${apt_packages[@]} | ||
|
||
# Install LLVM/clang-4.0. | ||
mkdir clang-tmp | ||
git clone -n --depth 1 https://chromium.googlesource.com/chromium/src/tools/clang clang-tmp/clang | ||
git -C clang-tmp/clang checkout HEAD scripts/update.py | ||
clang-tmp/clang/scripts/update.py | ||
rm -fr clang-tmp | ||
|
||
# Link to LLVM binaries. | ||
for b in clang clang++ llvm-symbolizer; do | ||
ln -s /home/worker/third_party/llvm-build/Release+Asserts/bin/$b /usr/local/bin/$b | ||
done | ||
|
||
locale-gen en_US.UTF-8 | ||
dpkg-reconfigure locales | ||
|
||
# Cleanup. | ||
rm -rf ~/.ccache ~/.cache | ||
apt-get autoremove -y | ||
apt-get clean | ||
apt-get autoclean | ||
rm $0 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters