Bug 1541943 - Temporarily switch libFuzzer builds back to clang-7. r=froydnj

Differential Revision: https://phabricator.services.mozilla.com/D26194

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Christian Holler 2019-04-04 16:47:57 +00:00
parent ba58e936bd
commit e3fb12ff12
6 changed files with 95 additions and 2 deletions

View File

@ -0,0 +1,25 @@
{
"llvm_revision": "349247",
"stages": "3",
"build_libcxx": true,
"build_type": "Release",
"assertions": false,
"llvm_repo": "https://llvm.org/svn/llvm-project/llvm/tags/RELEASE_701/final",
"clang_repo": "https://llvm.org/svn/llvm-project/cfe/tags/RELEASE_701/final",
"lld_repo": "https://llvm.org/svn/llvm-project/lld/tags/RELEASE_701/final",
"compiler_repo": "https://llvm.org/svn/llvm-project/compiler-rt/tags/RELEASE_701/final",
"libcxx_repo": "https://llvm.org/svn/llvm-project/libcxx/tags/RELEASE_701/final",
"libcxxabi_repo": "https://llvm.org/svn/llvm-project/libcxxabi/tags/RELEASE_701/final",
"python_path": "/usr/bin/python2.7",
"gcc_dir": "/builds/worker/workspace/build/src/gcc",
"cc": "/builds/worker/workspace/build/src/gcc/bin/gcc",
"cxx": "/builds/worker/workspace/build/src/gcc/bin/g++",
"as": "/builds/worker/workspace/build/src/gcc/bin/gcc",
"patches": [
"static-llvm-symbolizer.patch",
"find_symbolizer_linux.patch",
"rename_gcov_flush_7.patch",
"r350774.patch",
"android-mangling-error.patch"
]
}

View File

@ -0,0 +1,14 @@
diff --git a/llvm/lib/Object/Binary.cpp b/llvm/lib/Object/Binary.cpp
index d7c25921ec3..fe41987f5c2 100644
--- a/llvm/lib/Object/Binary.cpp
+++ b/llvm/lib/Object/Binary.cpp
@@ -88,7 +88,8 @@ Expected<std::unique_ptr<Binary>> object::createBinary(MemoryBufferRef Buffer,
Expected<OwningBinary<Binary>> object::createBinary(StringRef Path) {
ErrorOr<std::unique_ptr<MemoryBuffer>> FileOrErr =
- MemoryBuffer::getFileOrSTDIN(Path);
+ MemoryBuffer::getFileOrSTDIN(Path, /*FileSize=*/-1,
+ /*RequiresNullTerminator=*/false);
if (std::error_code EC = FileOrErr.getError())
return errorCodeToError(EC);
std::unique_ptr<MemoryBuffer> &Buffer = FileOrErr.get();

View File

@ -0,0 +1,14 @@
Index: compiler-rt/lib/profile/GCDAProfiling.c
===================================================================
diff --git a/compiler-rt/lib/profile/GCDAProfiling.c b/compiler-rt/lib/profile/GCDAProfiling.c
--- a/compiler-rt/lib/profile/GCDAProfiling.c (revisione 336380)
+++ b/compiler-rt/lib/profile/GCDAProfiling.c (copia locale)
@@ -555,7 +555,7 @@
fn_list_insert(&flush_fn_list, fn);
}
-void __gcov_flush() {
+void __custom_llvm_gcov_flush() {
struct fn_node* curr = flush_fn_list.head;
while (curr) {

View File

@ -639,7 +639,7 @@ linux64-asan-fuzzing/opt:
need-xvfb: true
toolchains:
- linux64-binutils
- linux64-clang
- linux64-clang-7
- linux64-rust
- linux64-rust-size
- linux64-cbindgen
@ -674,7 +674,7 @@ linux64-asan-fuzzing-ccov/opt:
need-xvfb: true
toolchains:
- linux64-binutils
- linux64-clang
- linux64-clang-7
- linux64-rust
- linux64-rust-size
- linux64-cbindgen

View File

@ -24,6 +24,21 @@ linux64-clang-4.0:
toolchains:
- linux64-gcc-6
linux64-clang-7:
description: "Clang 7 toolchain build"
treeherder:
symbol: TL(clang7)
run:
using: toolchain-script
script: build-clang-7-linux.sh
resources:
- 'build/build-clang/build-clang.py'
- 'build/build-clang/clang-7-linux64.json'
- 'taskcluster/scripts/misc/tooltool-download.sh'
toolchain-artifact: public/build/clang.tar.xz
toolchains:
- linux64-gcc-6
linux64-clang-8:
description: "Clang 8 toolchain build"
treeherder:

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -x -e -v
# This script is for building clang for Linux.
WORKSPACE=$HOME/workspace
HOME_DIR=$WORKSPACE/build
UPLOAD_DIR=$HOME/artifacts
cd $HOME_DIR/src
. taskcluster/scripts/misc/tooltool-download.sh
# gets a bit too verbose here
set +x
cd build/build-clang
# |mach python| sets up a virtualenv for us!
../../mach python ./build-clang.py -c clang-7-linux64.json
set -x
# Put a tarball in the artifacts dir
mkdir -p $UPLOAD_DIR
cp clang.tar.* $UPLOAD_DIR