Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(171)

Side by Side Diff: build/config/sanitizers/BUILD.gn

Issue 2031903002: Update GN files w/ changes needed to make sanitizers work. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix symbolized definition Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « build/config/BUILDCONFIG.gn ('k') | build/config/sanitizers/sanitizers.gni » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2014 The Chromium Authors. All rights reserved. 1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import("//build/config/chrome_build.gni") 5 import("//build/config/chrome_build.gni")
6 import("//build/config/chromecast_build.gni") 6 import("//build/config/chromecast_build.gni")
7 import("//build/config/sanitizers/sanitizers.gni") 7 import("//build/config/sanitizers/sanitizers.gni")
8 import("//build/toolchain/toolchain.gni") 8 import("//build/toolchain/toolchain.gni")
9 9
10 # Contains the dependencies needed for sanitizers to link into executables and 10 # Contains the dependencies needed for sanitizers to link into executables and
(...skipping 20 matching lines...) Expand all
31 31
32 group("deps_no_options") { 32 group("deps_no_options") {
33 if (using_sanitizer) { 33 if (using_sanitizer) {
34 public_configs = [ 34 public_configs = [
35 # Even when a target removes default_sanitizer_flags, it may be depending 35 # Even when a target removes default_sanitizer_flags, it may be depending
36 # on a library that did not remove default_sanitizer_flags. Thus, we need 36 # on a library that did not remove default_sanitizer_flags. Thus, we need
37 # to add the ldflags here as well as in default_sanitizer_flags. 37 # to add the ldflags here as well as in default_sanitizer_flags.
38 ":default_sanitizer_ldflags", 38 ":default_sanitizer_ldflags",
39 ] 39 ]
40 deps = [] 40 deps = []
41
42 data = [
43 "//tools/valgrind/asan/",
44 ]
45 if (is_win) {
46 exe = ".exe"
47 } else {
48 exe = ""
49 }
50 data += [ "//third_party//llvm-build/Release+Asserts/bin/llvm-symbolizer${ex e}" ]
51 if (is_linux) {
52 data += [ "//third_party/llvm-build/Release+Asserts/lib/libstdc++.so.6" ]
Nico 2016/06/02 18:16:41 Can you add a comment here that says that this is
Dirk Pranke 2016/06/02 18:47:08 Sure.
53 }
54
41 if (use_prebuilt_instrumented_libraries) { 55 if (use_prebuilt_instrumented_libraries) {
42 deps += [ "//third_party/instrumented_libraries:deps" ] 56 deps += [ "//third_party/instrumented_libraries:deps" ]
43 } 57 }
44 if (use_custom_libcxx) { 58 if (use_custom_libcxx) {
45 public_deps = [ 59 public_deps = [
46 "//buildtools/third_party/libc++:libcxx_proxy", 60 "//buildtools/third_party/libc++:libcxx_proxy",
47 ] 61 ]
62 data += [ "$root_out_dir/libc++.so" ]
48 } 63 }
49 if (is_mac) { 64 if (is_mac) {
50 data_deps = [ 65 data_deps = [
51 ":copy_asan_runtime", 66 ":copy_asan_runtime",
52 ] 67 ]
53 } 68 }
54 } 69 }
55 } 70 }
56 71
57 if (is_mac) { 72 if (is_mac) {
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
151 cflags = [] 166 cflags = []
152 cflags_cc = [] 167 cflags_cc = []
153 168
154 # Sanitizers need line table info for stack traces. They don't need type info 169 # Sanitizers need line table info for stack traces. They don't need type info
155 # or variable info, so we can leave that out to speed up the build. 170 # or variable info, so we can leave that out to speed up the build.
156 if (using_sanitizer) { 171 if (using_sanitizer) {
157 assert(is_clang, "sanitizers only supported with clang") 172 assert(is_clang, "sanitizers only supported with clang")
158 cflags += [ "-gline-tables-only" ] 173 cflags += [ "-gline-tables-only" ]
159 } 174 }
160 175
176 if (symbolized) {
177 cflags += [
Nico 2016/06/02 18:16:41 What's the motivation for this block? I can't find
Dirk Pranke 2016/06/02 18:47:08 These flags get passed directly in the 'release_ex
178 "-O1",
Nico 2016/06/02 18:16:41 Wouldn't the gn way for this be to pick a differen
Dirk Pranke 2016/06/02 18:47:08 Hm, probably. Good catch. I'll look at reworking t
179 "-fno-line-functions",
Nico 2016/06/02 18:16:41 This is supposed to be -fno-inline-functions I ass
Dirk Pranke 2016/06/02 18:47:08 Yup, that's a typo. Another good catch.
180 "-fno-inline",
181 ]
182 }
183
161 # Common options for AddressSanitizer, LeakSanitizer, ThreadSanitizer, 184 # Common options for AddressSanitizer, LeakSanitizer, ThreadSanitizer,
162 # MemorySanitizer and non-official CFI builds. 185 # MemorySanitizer and non-official CFI builds.
163 if (using_sanitizer || (is_cfi && !is_official_build)) { 186 if (using_sanitizer || (is_cfi && !is_official_build)) {
164 if (is_posix) { 187 if (is_posix) {
165 cflags += [ "-fno-omit-frame-pointer" ] 188 cflags += [ "-fno-omit-frame-pointer" ]
166 } else { 189 } else {
167 cflags += [ "/Oy-" ] 190 cflags += [ "/Oy-" ]
168 } 191 }
169 } 192 }
170 193
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
403 # This allows to selectively disable ubsan_vptr, when needed. In particular, 426 # This allows to selectively disable ubsan_vptr, when needed. In particular,
404 # if some third_party code is required to be compiled without rtti, which 427 # if some third_party code is required to be compiled without rtti, which
405 # is a requirement for ubsan_vptr. 428 # is a requirement for ubsan_vptr.
406 config("default_sanitizer_flags_but_ubsan_vptr") { 429 config("default_sanitizer_flags_but_ubsan_vptr") {
407 configs = all_sanitizer_configs - [ ":ubsan_vptr_flags" ] 430 configs = all_sanitizer_configs - [ ":ubsan_vptr_flags" ]
408 } 431 }
409 432
410 config("default_sanitizer_flags_but_coverage") { 433 config("default_sanitizer_flags_but_coverage") {
411 configs = all_sanitizer_configs - [ ":coverage_flags" ] 434 configs = all_sanitizer_configs - [ ":coverage_flags" ]
412 } 435 }
OLDNEW
« no previous file with comments | « build/config/BUILDCONFIG.gn ('k') | build/config/sanitizers/sanitizers.gni » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698