container release: clang r319946
* clang r319946: includes sanitizer headers, llvm-symbolizer and fuzzer
* add tests to ensure all sanitizer headers exist
* also update the sha256 of python-runtime image to include the latest
changes
Tested:
* Tested building locally with
`container/debian8-clang-fully-loaded/build.sh -l`
* Tested with Google Cloud Container Builder
`container/debian8-clang-fully-loaded/build.sh -p my-project -c
my-image -t test -a`
Change-Id: Icf941907782e9d5adde5b13ea59b2f453d9bed0f
diff --git a/WORKSPACE b/WORKSPACE
index fbcb6cd..467d211 100644
--- a/WORKSPACE
+++ b/WORKSPACE
@@ -216,20 +216,6 @@
# Clang
http_file(
name = "clang_release",
- sha256 = "8b29b525eb928cac53f5a56a9fe63924467deec6eb75844b947c2d59cc20cd5c",
- urls = ["https://storage.googleapis.com/clang-builds-stable/clang-debian8/clang_r318288.tar.gz"],
-)
-
-# LLVM's compiler-rt, used to get sanitizer headers
-# Pinned to CL right after r318288
-# TODO(yiyu): make changing this pin part of the container release process
-# TODO(ngiraldo): remove this once the clang-debian8 gcs package comes with the headers pre-installed
-new_http_archive(
- name = "compiler_rt",
- urls = [
- "https://github.com/llvm-mirror/compiler-rt/archive/0066b15e48e7b40e43051c9241760e7066582a96.tar.gz",
- ],
- sha256 = "a31b513c7b81168e88f530ace58bec53766870c22f949d2a91f767a291d682a9",
- strip_prefix = "compiler-rt-0066b15e48e7b40e43051c9241760e7066582a96",
- build_file = "//third_party/compiler_rt:compiler_rt.BUILD",
+ sha256 = "61699cafb7d8542f30b39eda9fc43b23f13ecbac1d349976374f7555659c2d2f",
+ urls = ["https://storage.googleapis.com/clang-builds-stable/clang-debian8/clang_r319946.tar.gz"],
)
diff --git a/container/debian8-clang-fully-loaded/test.yaml b/container/debian8-clang-fully-loaded/test.yaml
index f657921..5d8c512 100644
--- a/container/debian8-clang-fully-loaded/test.yaml
+++ b/container/debian8-clang-fully-loaded/test.yaml
@@ -28,3 +28,51 @@
isDirectory: false
path: '/usr/local/go/bin/go'
shouldExist: true
+- name: 'sanitizer'
+ isDirectory: true
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer'
+ shouldExist: true
+- name: 'sanitizer-allocator'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/allocator_interface.h'
+ shouldExist: true
+- name: 'sanitizer-asan'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/asan_interface.h'
+ shouldExist: true
+- name: 'sanitizer-common_defs'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/common_interface_defs.h'
+ shouldExist: true
+- name: 'sanitizer-coverage'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/coverage_interface.h'
+ shouldExist: true
+- name: 'sanitizer-dfsan'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/dfsan_interface.h'
+ shouldExist: true
+- name: 'sanitizer-esan'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/esan_interface.h'
+ shouldExist: true
+- name: 'sanitizer-linux_syscall_hooks'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/linux_syscall_hooks.h'
+ shouldExist: true
+- name: 'sanitizer-lsan'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/lsan_interface.h'
+ shouldExist: true
+- name: 'sanitizer-msan'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/msan_interface.h'
+ shouldExist: true
+- name: 'sanitizer-tsan_atomic'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/tsan_interface_atomic.h'
+ shouldExist: true
+- name: 'sanitizer-tsan'
+ isDirectory: false
+ path: '/usr/local/lib/clang/6.0.0/include/sanitizer/tsan_interface.h'
+ shouldExist: true
diff --git a/third_party/clang/BUILD b/third_party/clang/BUILD
index c81856c..458e949 100644
--- a/third_party/clang/BUILD
+++ b/third_party/clang/BUILD
@@ -32,6 +32,5 @@
tags = ["manual"],
deps = [
"@clang_release//file",
- "@compiler_rt//:sanitizers"
],
)
diff --git a/third_party/compiler_rt/BUILD b/third_party/compiler_rt/BUILD
deleted file mode 100644
index 3f995dc..0000000
--- a/third_party/compiler_rt/BUILD
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# 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.
-
-# This BUILD file is used for installing clang.tar.gz into /usr/local
-# of debian8-clang-fully-loaded container. The clang.tar.gz file was
-# downloaded by gsutil_cp rule in the WORKSPACE file, and contains
-# the same compiled clang binary as in
-# https://console.cloud.google.com/launcher/details/google/clang-debian8
-
-licenses(["notice"]) # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
diff --git a/third_party/compiler_rt/compiler_rt.BUILD b/third_party/compiler_rt/compiler_rt.BUILD
deleted file mode 100644
index b21eecd..0000000
--- a/third_party/compiler_rt/compiler_rt.BUILD
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2017 The Bazel Authors. All rights reserved.
-#
-# 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.
-
-# This BUILD file is used for installing clang.tar.gz into /usr/local
-# of debian8-clang-fully-loaded container. The clang.tar.gz file was
-# downloaded by gsutil_cp rule in the WORKSPACE file, and contains
-# the same compiled clang binary as in
-# https://console.cloud.google.com/launcher/details/google/clang-debian8
-
-licenses(["notice"]) # Apache 2.0
-
-package(default_visibility = ["//visibility:public"])
-
-load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
-
-pkg_tar(
- name = "sanitizers",
- srcs = glob(["include/sanitizer/*"]),
- package_dir = "/lib/clang/6.0.0",
- strip_prefix = ".",
- tags = ["manual"],
-)
diff --git a/third_party/python/BUILD b/third_party/python/BUILD
index cc53abb..df812e6 100644
--- a/third_party/python/BUILD
+++ b/third_party/python/BUILD
@@ -38,7 +38,7 @@
# https://github.com/GoogleCloudPlatform/python-runtime/tree/master/python-interpreter-builder
container_file_export(
name = "python3",
- image = "l.gcr.io/google/python@sha256:49f0264ae8ea6993c03773aa6cc7b7bb14f977d7e67780974375cbd74b376144",
+ image = "l.gcr.io/google/python@sha256:8c6f86e4cec33f483aaf4155658da424fe37d3e03d3c55a823790eb56a3a8f1a",
src_path = "/opt/python3.6",
tags = ["manual"],
)