| OLD | NEW |
| 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/clang/clang.gni") | 7 import("//build/config/clang/clang.gni") |
| 8 import("//build/config/sanitizers/sanitizers.gni") | 8 import("//build/config/sanitizers/sanitizers.gni") |
| 9 import("//build/toolchain/toolchain.gni") | 9 import("//build/toolchain/toolchain.gni") |
| 10 | 10 |
| (...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 148 ldflags += [ "-fsanitize=undefined" ] | 148 ldflags += [ "-fsanitize=undefined" ] |
| 149 } | 149 } |
| 150 if (is_ubsan_null) { | 150 if (is_ubsan_null) { |
| 151 ldflags += [ "-fsanitize=null" ] | 151 ldflags += [ "-fsanitize=null" ] |
| 152 } | 152 } |
| 153 if (is_ubsan_vptr) { | 153 if (is_ubsan_vptr) { |
| 154 ldflags += [ "-fsanitize=vptr" ] | 154 ldflags += [ "-fsanitize=vptr" ] |
| 155 } | 155 } |
| 156 | 156 |
| 157 if (is_cfi && !is_nacl) { | 157 if (is_cfi && !is_nacl) { |
| 158 ldflags += [ | 158 ldflags += [ "-fsanitize=cfi-vcall" ] |
| 159 "-fsanitize=cfi-vcall", | 159 if (use_cfi_cast) { |
| 160 "-fsanitize=cfi-derived-cast", | 160 ldflags += [ |
| 161 "-fsanitize=cfi-unrelated-cast", | 161 "-fsanitize=cfi-derived-cast", |
| 162 ] | 162 "-fsanitize=cfi-unrelated-cast", |
| 163 ] |
| 164 } |
| 163 if (use_cfi_diag) { | 165 if (use_cfi_diag) { |
| 164 ldflags += [ | 166 ldflags += [ |
| 165 "-fno-sanitize-trap=cfi", | 167 "-fno-sanitize-trap=cfi", |
| 166 "-fsanitize-recover=cfi", | 168 "-fsanitize-recover=cfi", |
| 167 ] | 169 ] |
| 168 } | 170 } |
| 169 } | 171 } |
| 170 } | 172 } |
| 171 } | 173 } |
| 172 | 174 |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 248 } | 250 } |
| 249 } | 251 } |
| 250 | 252 |
| 251 config("cfi_flags") { | 253 config("cfi_flags") { |
| 252 cflags = [] | 254 cflags = [] |
| 253 if (is_cfi && !is_nacl) { | 255 if (is_cfi && !is_nacl) { |
| 254 cfi_blacklist_path = | 256 cfi_blacklist_path = |
| 255 rebase_path("//tools/cfi/blacklist.txt", root_build_dir) | 257 rebase_path("//tools/cfi/blacklist.txt", root_build_dir) |
| 256 cflags += [ | 258 cflags += [ |
| 257 "-fsanitize=cfi-vcall", | 259 "-fsanitize=cfi-vcall", |
| 258 "-fsanitize=cfi-derived-cast", | |
| 259 "-fsanitize=cfi-unrelated-cast", | |
| 260 "-fsanitize-blacklist=$cfi_blacklist_path", | 260 "-fsanitize-blacklist=$cfi_blacklist_path", |
| 261 ] | 261 ] |
| 262 | 262 |
| 263 if (use_cfi_cast) { |
| 264 cflags += [ |
| 265 "-fsanitize=cfi-derived-cast", |
| 266 "-fsanitize=cfi-unrelated-cast", |
| 267 ] |
| 268 } |
| 269 |
| 263 if (use_cfi_diag) { | 270 if (use_cfi_diag) { |
| 264 cflags += [ | 271 cflags += [ |
| 265 "-fno-sanitize-trap=cfi", | 272 "-fno-sanitize-trap=cfi", |
| 266 "-fsanitize-recover=cfi", | 273 "-fsanitize-recover=cfi", |
| 267 "-fno-inline-functions", | 274 "-fno-inline-functions", |
| 268 "-fno-inline", | 275 "-fno-inline", |
| 269 "-fno-omit-frame-pointer", | 276 "-fno-omit-frame-pointer", |
| 270 "-O1", | 277 "-O1", |
| 271 ] | 278 ] |
| 272 } else { | 279 } else { |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 433 # This allows to selectively disable ubsan_vptr, when needed. In particular, | 440 # This allows to selectively disable ubsan_vptr, when needed. In particular, |
| 434 # if some third_party code is required to be compiled without rtti, which | 441 # if some third_party code is required to be compiled without rtti, which |
| 435 # is a requirement for ubsan_vptr. | 442 # is a requirement for ubsan_vptr. |
| 436 config("default_sanitizer_flags_but_ubsan_vptr") { | 443 config("default_sanitizer_flags_but_ubsan_vptr") { |
| 437 configs = all_sanitizer_configs - [ ":ubsan_vptr_flags" ] | 444 configs = all_sanitizer_configs - [ ":ubsan_vptr_flags" ] |
| 438 } | 445 } |
| 439 | 446 |
| 440 config("default_sanitizer_flags_but_coverage") { | 447 config("default_sanitizer_flags_but_coverage") { |
| 441 configs = all_sanitizer_configs - [ ":coverage_flags" ] | 448 configs = all_sanitizer_configs - [ ":coverage_flags" ] |
| 442 } | 449 } |
| OLD | NEW |