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

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

Issue 1840873002: Enable symbols with ASan (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Try to write some gn Created 4 years, 8 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/compiler/compiler.gni ('k') | no next file » | 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 8
9 # Contains the dependencies needed for sanitizers to link into executables and 9 # Contains the dependencies needed for sanitizers to link into executables and
10 # shared_libraries. Unconditionally depend upon this target as it is empty if 10 # shared_libraries. Unconditionally depend upon this target as it is empty if
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 # This needs to be in a separate config so that targets can opt out of 143 # This needs to be in a separate config so that targets can opt out of
144 # sanitizers (by removing the config) if they desire. Even if a target 144 # sanitizers (by removing the config) if they desire. Even if a target
145 # removes this config, executables & shared libraries should still depend on 145 # removes this config, executables & shared libraries should still depend on
146 # :deps if any of their dependencies have not opted out of sanitizers. 146 # :deps if any of their dependencies have not opted out of sanitizers.
147 config("default_sanitizer_flags") { 147 config("default_sanitizer_flags") {
148 cflags = [] 148 cflags = []
149 cflags_cc = [] 149 cflags_cc = []
150 defines = [] 150 defines = []
151 configs = [ ":default_sanitizer_ldflags" ] 151 configs = [ ":default_sanitizer_ldflags" ]
152 152
153 # Sanitizers need line table info for stack traces. They don't need type info
154 # or variable info, so we can leave that out to speed up the build.
155 if (is_clang && using_sanitizer) {
156 cflags += [ "-gline-tables-only" ]
157 }
158
153 # Only works on Posix-like platforms. 159 # Only works on Posix-like platforms.
154 # FIXME: this is not true, remove the conditional. 160 # FIXME: this is not true, remove the conditional.
155 if (is_posix) { 161 if (is_posix) {
156 # Common options for AddressSanitizer, LeakSanitizer, ThreadSanitizer, 162 # Common options for AddressSanitizer, LeakSanitizer, ThreadSanitizer,
157 # MemorySanitizer and non-official CFI builds. 163 # MemorySanitizer and non-official CFI builds.
158 if (using_sanitizer || (is_lto && !is_official_build)) { 164 if (using_sanitizer || (is_lto && !is_official_build)) {
159 cflags += [ 165 cflags += [ "-fno-omit-frame-pointer" ]
160 "-fno-omit-frame-pointer",
161 "-gline-tables-only",
162 ]
163 } 166 }
164 if (is_asan) { 167 if (is_asan) {
165 asan_blacklist_path = 168 asan_blacklist_path =
166 rebase_path("//tools/memory/asan/blacklist.txt", root_build_dir) 169 rebase_path("//tools/memory/asan/blacklist.txt", root_build_dir)
167 cflags += [ 170 cflags += [
168 "-fsanitize=address", 171 "-fsanitize=address",
169 "-fsanitize-blacklist=$asan_blacklist_path", 172 "-fsanitize-blacklist=$asan_blacklist_path",
170 ] 173 ]
171 if (is_android) { 174 if (is_android) {
172 # Android build relies on -Wl,--gc-sections removing unreachable code. 175 # Android build relies on -Wl,--gc-sections removing unreachable code.
(...skipping 149 matching lines...) Expand 10 before | Expand all | Expand 10 after
322 sources = [ 325 sources = [
323 "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_ rt.asan_osx_dynamic.dylib", 326 "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_ rt.asan_osx_dynamic.dylib",
324 "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_ rt.tsan_osx_dynamic.dylib", 327 "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_ rt.tsan_osx_dynamic.dylib",
325 "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_ rt.ubsan_osx_dynamic.dylib", 328 "//third_party/llvm-build/Release+Asserts/compiler-rt/lib/darwin/libclang_ rt.ubsan_osx_dynamic.dylib",
326 ] 329 ]
327 outputs = [ 330 outputs = [
328 "$root_build_dir/{{source_file_part}}", 331 "$root_build_dir/{{source_file_part}}",
329 ] 332 ]
330 } 333 }
331 } 334 }
OLDNEW
« no previous file with comments | « build/config/compiler/compiler.gni ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698