-
Notifications
You must be signed in to change notification settings - Fork 7.5k
[webrtc] Add a new port #51082
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[webrtc] Add a new port #51082
Changes from 8 commits
7e5170a
8abbf03
d3d04cc
6326c9f
858b2f6
a528e76
076303a
f752893
377bc31
870eb6d
7002e39
5fa7e6d
18c90f1
7ada743
977c9c0
5e8e4c5
85ff702
9ea7b2e
e0a27ca
c999e2f
aa3a7ad
7524de5
bbf8784
c30d433
4ba88bd
5aef473
2edbc7f
df3ef26
06b75b1
8308eaa
e7d5205
44c4b3a
d9bdd8f
852381c
566ba7c
f675808
03aae01
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,208 @@ | ||
| //third_party/abseil-cpp:absl | ||
| //third_party/abseil-cpp:absl_component_deps | ||
| //third_party/abseil-cpp/absl/algorithm:algorithm | ||
| //third_party/abseil-cpp/absl/algorithm:container | ||
| //third_party/abseil-cpp/absl/base:atomic_hook | ||
| //third_party/abseil-cpp/absl/base:base | ||
| //third_party/abseil-cpp/absl/base:base_internal | ||
| //third_party/abseil-cpp/absl/base:config | ||
| //third_party/abseil-cpp/absl/base:core_headers | ||
| //third_party/abseil-cpp/absl/base:cycleclock_internal | ||
| //third_party/abseil-cpp/absl/base:dynamic_annotations | ||
| //third_party/abseil-cpp/absl/base:endian | ||
| //third_party/abseil-cpp/absl/base:errno_saver | ||
| //third_party/abseil-cpp/absl/base:fast_type_id | ||
| //third_party/abseil-cpp/absl/base:iterator_traits_internal | ||
| //third_party/abseil-cpp/absl/base:log_severity | ||
| //third_party/abseil-cpp/absl/base:malloc_internal | ||
| //third_party/abseil-cpp/absl/base:no_destructor | ||
| //third_party/abseil-cpp/absl/base:nullability | ||
| //third_party/abseil-cpp/absl/base:nullability_traits_internal | ||
| //third_party/abseil-cpp/absl/base:prefetch | ||
| //third_party/abseil-cpp/absl/base:raw_logging_internal | ||
| //third_party/abseil-cpp/absl/base:spinlock_wait | ||
| //third_party/abseil-cpp/absl/base:strerror | ||
| //third_party/abseil-cpp/absl/base:throw_delegate | ||
| //third_party/abseil-cpp/absl/base:tracing_internal | ||
| //third_party/abseil-cpp/absl/cleanup:cleanup | ||
| //third_party/abseil-cpp/absl/cleanup:cleanup_internal | ||
| //third_party/abseil-cpp/absl/container:btree | ||
| //third_party/abseil-cpp/absl/container:common | ||
| //third_party/abseil-cpp/absl/container:common_policy_traits | ||
| //third_party/abseil-cpp/absl/container:compressed_tuple | ||
| //third_party/abseil-cpp/absl/container:container_memory | ||
| //third_party/abseil-cpp/absl/container:fixed_array | ||
| //third_party/abseil-cpp/absl/container:flat_hash_map | ||
| //third_party/abseil-cpp/absl/container:flat_hash_set | ||
| //third_party/abseil-cpp/absl/container:hash_container_defaults | ||
| //third_party/abseil-cpp/absl/container:hash_function_defaults | ||
| //third_party/abseil-cpp/absl/container:hash_policy_traits | ||
| //third_party/abseil-cpp/absl/container:hashtable_control_bytes | ||
| //third_party/abseil-cpp/absl/container:hashtable_debug_hooks | ||
| //third_party/abseil-cpp/absl/container:hashtablez_sampler | ||
| //third_party/abseil-cpp/absl/container:inlined_vector | ||
| //third_party/abseil-cpp/absl/container:inlined_vector_internal | ||
| //third_party/abseil-cpp/absl/container:layout | ||
| //third_party/abseil-cpp/absl/container:linked_hash_map | ||
| //third_party/abseil-cpp/absl/container:linked_hash_set | ||
| //third_party/abseil-cpp/absl/container:node_hash_map | ||
| //third_party/abseil-cpp/absl/container:node_hash_set | ||
| //third_party/abseil-cpp/absl/container:node_slot_policy | ||
| //third_party/abseil-cpp/absl/container:raw_hash_map | ||
| //third_party/abseil-cpp/absl/container:raw_hash_set | ||
| //third_party/abseil-cpp/absl/container:raw_hash_set_resize_impl | ||
| //third_party/abseil-cpp/absl/crc:cpu_detect | ||
| //third_party/abseil-cpp/absl/crc:crc32c | ||
| //third_party/abseil-cpp/absl/crc:crc_cord_state | ||
| //third_party/abseil-cpp/absl/crc:crc_internal | ||
| //third_party/abseil-cpp/absl/crc:non_temporal_arm_intrinsics | ||
| //third_party/abseil-cpp/absl/crc:non_temporal_memcpy | ||
| //third_party/abseil-cpp/absl/debugging:bounded_utf8_length_sequence | ||
| //third_party/abseil-cpp/absl/debugging:debugging_internal | ||
| //third_party/abseil-cpp/absl/debugging:decode_rust_punycode | ||
| //third_party/abseil-cpp/absl/debugging:demangle_internal | ||
| //third_party/abseil-cpp/absl/debugging:demangle_rust | ||
| //third_party/abseil-cpp/absl/debugging:examine_stack | ||
| //third_party/abseil-cpp/absl/debugging:failure_signal_handler | ||
| //third_party/abseil-cpp/absl/debugging:leak_check | ||
| //third_party/abseil-cpp/absl/debugging:stacktrace | ||
| //third_party/abseil-cpp/absl/debugging:symbolize | ||
| //third_party/abseil-cpp/absl/debugging:utf8_for_code_point | ||
| //third_party/abseil-cpp/absl/functional:any_invocable | ||
| //third_party/abseil-cpp/absl/functional:bind_front | ||
| //third_party/abseil-cpp/absl/functional:function_ref | ||
| //third_party/abseil-cpp/absl/functional:overload | ||
| //third_party/abseil-cpp/absl/hash:city | ||
| //third_party/abseil-cpp/absl/hash:hash | ||
| //third_party/abseil-cpp/absl/hash:weakly_mixed_integer | ||
| //third_party/abseil-cpp/absl/log/internal:append_truncated | ||
| //third_party/abseil-cpp/absl/log/internal:check_impl | ||
| //third_party/abseil-cpp/absl/log/internal:check_op | ||
| //third_party/abseil-cpp/absl/log/internal:conditions | ||
| //third_party/abseil-cpp/absl/log/internal:config | ||
| //third_party/abseil-cpp/absl/log/internal:fnmatch | ||
| //third_party/abseil-cpp/absl/log/internal:format | ||
| //third_party/abseil-cpp/absl/log/internal:globals | ||
| //third_party/abseil-cpp/absl/log/internal:log_impl | ||
| //third_party/abseil-cpp/absl/log/internal:log_message | ||
| //third_party/abseil-cpp/absl/log/internal:log_sink_set | ||
| //third_party/abseil-cpp/absl/log/internal:nullguard | ||
| //third_party/abseil-cpp/absl/log/internal:nullstream | ||
| //third_party/abseil-cpp/absl/log/internal:proto | ||
| //third_party/abseil-cpp/absl/log/internal:strip | ||
| //third_party/abseil-cpp/absl/log/internal:structured_proto | ||
| //third_party/abseil-cpp/absl/log/internal:vlog_config | ||
| //third_party/abseil-cpp/absl/log/internal:voidify | ||
| //third_party/abseil-cpp/absl/log:absl_check | ||
| //third_party/abseil-cpp/absl/log:absl_log | ||
| //third_party/abseil-cpp/absl/log:absl_vlog_is_on | ||
| //third_party/abseil-cpp/absl/log:die_if_null | ||
| //third_party/abseil-cpp/absl/log:globals | ||
| //third_party/abseil-cpp/absl/log:initialize | ||
| //third_party/abseil-cpp/absl/log:log | ||
| //third_party/abseil-cpp/absl/log:log_entry | ||
| //third_party/abseil-cpp/absl/log:log_sink | ||
| //third_party/abseil-cpp/absl/log:log_sink_registry | ||
| //third_party/abseil-cpp/absl/log:vlog_is_on | ||
| //third_party/abseil-cpp/absl/memory:memory | ||
| //third_party/abseil-cpp/absl/meta:type_traits | ||
| //third_party/abseil-cpp/absl/numeric:bits | ||
| //third_party/abseil-cpp/absl/numeric:int128 | ||
| //third_party/abseil-cpp/absl/numeric:representation | ||
| //third_party/abseil-cpp/absl/profiling:exponential_biased | ||
| //third_party/abseil-cpp/absl/profiling:sample_recorder | ||
| //third_party/abseil-cpp/absl/random/internal:distribution_caller | ||
| //third_party/abseil-cpp/absl/random/internal:entropy_pool | ||
| //third_party/abseil-cpp/absl/random/internal:fast_uniform_bits | ||
| //third_party/abseil-cpp/absl/random/internal:fastmath | ||
| //third_party/abseil-cpp/absl/random/internal:generate_real | ||
| //third_party/abseil-cpp/absl/random/internal:iostream_state_saver | ||
| //third_party/abseil-cpp/absl/random/internal:nonsecure_base | ||
| //third_party/abseil-cpp/absl/random/internal:pcg_engine | ||
| //third_party/abseil-cpp/absl/random/internal:platform | ||
| //third_party/abseil-cpp/absl/random/internal:randen | ||
| //third_party/abseil-cpp/absl/random/internal:randen_engine | ||
| //third_party/abseil-cpp/absl/random/internal:randen_hwaes | ||
| //third_party/abseil-cpp/absl/random/internal:randen_hwaes_impl | ||
| //third_party/abseil-cpp/absl/random/internal:randen_slow | ||
| //third_party/abseil-cpp/absl/random/internal:salted_seed_seq | ||
| //third_party/abseil-cpp/absl/random/internal:seed_material | ||
| //third_party/abseil-cpp/absl/random/internal:traits | ||
| //third_party/abseil-cpp/absl/random/internal:uniform_helper | ||
| //third_party/abseil-cpp/absl/random/internal:wide_multiply | ||
| //third_party/abseil-cpp/absl/random:bit_gen_ref | ||
| //third_party/abseil-cpp/absl/random:distributions | ||
| //third_party/abseil-cpp/absl/random:random | ||
| //third_party/abseil-cpp/absl/random:seed_gen_exception | ||
| //third_party/abseil-cpp/absl/random:seed_sequences | ||
| //third_party/abseil-cpp/absl/status:status | ||
| //third_party/abseil-cpp/absl/status:statusor | ||
| //third_party/abseil-cpp/absl/strings:append_and_overwrite | ||
| //third_party/abseil-cpp/absl/strings:charset | ||
| //third_party/abseil-cpp/absl/strings:cord | ||
| //third_party/abseil-cpp/absl/strings:cord_internal | ||
| //third_party/abseil-cpp/absl/strings:cordz_functions | ||
| //third_party/abseil-cpp/absl/strings:cordz_handle | ||
| //third_party/abseil-cpp/absl/strings:cordz_info | ||
| //third_party/abseil-cpp/absl/strings:cordz_statistics | ||
| //third_party/abseil-cpp/absl/strings:cordz_update_scope | ||
| //third_party/abseil-cpp/absl/strings:cordz_update_tracker | ||
| //third_party/abseil-cpp/absl/strings:has_ostream_operator | ||
| //third_party/abseil-cpp/absl/strings:internal | ||
| //third_party/abseil-cpp/absl/strings:resize_and_overwrite | ||
| //third_party/abseil-cpp/absl/strings:str_format | ||
| //third_party/abseil-cpp/absl/strings:str_format_internal | ||
| //third_party/abseil-cpp/absl/strings:string_view | ||
| //third_party/abseil-cpp/absl/strings:strings | ||
| //third_party/abseil-cpp/absl/synchronization:graphcycles_internal | ||
| //third_party/abseil-cpp/absl/synchronization:kernel_timeout_internal | ||
| //third_party/abseil-cpp/absl/synchronization:synchronization | ||
| //third_party/abseil-cpp/absl/time/internal/cctz:civil_time | ||
| //third_party/abseil-cpp/absl/time/internal/cctz:time_zone | ||
| //third_party/abseil-cpp/absl/time:clock_interface | ||
| //third_party/abseil-cpp/absl/time:time | ||
| //third_party/abseil-cpp/absl/types:compare | ||
| //third_party/abseil-cpp/absl/types:optional | ||
| //third_party/abseil-cpp/absl/types:optional_ref | ||
| //third_party/abseil-cpp/absl/types:source_location | ||
| //third_party/abseil-cpp/absl/types:span | ||
| //third_party/abseil-cpp/absl/types:variant | ||
| //third_party/abseil-cpp/absl/utility:utility | ||
| //third_party/abseil-cpp/absl/base:exception_testing | ||
| //third_party/abseil-cpp/absl/base:iterator_traits_test_helper | ||
| //third_party/abseil-cpp/absl/container:hash_generator_testing | ||
| //third_party/abseil-cpp/absl/container:hash_policy_testing | ||
| //third_party/abseil-cpp/absl/container:test_instance_tracker | ||
| //third_party/abseil-cpp/absl/container:unordered_map_constructor_test | ||
| //third_party/abseil-cpp/absl/container:unordered_map_lookup_test | ||
| //third_party/abseil-cpp/absl/container:unordered_map_members_test | ||
| //third_party/abseil-cpp/absl/container:unordered_map_modifiers_test | ||
| //third_party/abseil-cpp/absl/container:unordered_set_constructor_test | ||
| //third_party/abseil-cpp/absl/container:unordered_set_lookup_test | ||
| //third_party/abseil-cpp/absl/container:unordered_set_members_test | ||
| //third_party/abseil-cpp/absl/container:unordered_set_modifiers_test | ||
| //third_party/abseil-cpp/absl/flags:absl_flags_config | ||
| //third_party/abseil-cpp/absl/flags:config | ||
| //third_party/abseil-cpp/absl/flags:flag | ||
| //third_party/abseil-cpp/absl/flags:marshalling | ||
| //third_party/abseil-cpp/absl/flags:parse | ||
| //third_party/abseil-cpp/absl/flags:program_name | ||
| //third_party/abseil-cpp/absl/flags:reflection | ||
| //third_party/abseil-cpp/absl/flags:usage | ||
| //third_party/abseil-cpp/absl/hash:hash_testing | ||
| //third_party/abseil-cpp/absl/log/internal:container | ||
| //third_party/abseil-cpp/absl/log/internal:flags | ||
| //third_party/abseil-cpp/absl/log/internal:structured | ||
| //third_party/abseil-cpp/absl/log/internal:test_actions | ||
| //third_party/abseil-cpp/absl/log/internal:test_helpers | ||
| //third_party/abseil-cpp/absl/log/internal:test_matchers | ||
| //third_party/abseil-cpp/absl/log:check | ||
| //third_party/abseil-cpp/absl/meta:requires | ||
| //third_party/abseil-cpp/absl/random/internal:distribution_test_util | ||
| //third_party/abseil-cpp/absl/random/internal:mock_helpers | ||
| //third_party/abseil-cpp/absl/random/internal:mock_overload_set | ||
| //third_party/abseil-cpp/absl/random/internal:mock_validators | ||
| //third_party/abseil-cpp/absl/random:mocking_bit_gen | ||
| //third_party/abseil-cpp/absl/strings:cord_test_helpers | ||
| //third_party/abseil-cpp/absl/synchronization:thread_pool | ||
| //third_party/abseil-cpp/absl/types:any |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,66 @@ | ||
| diff --git a/toolchain/apple/toolchain.gni b/toolchain/apple/toolchain.gni | ||
| index dd2722015..f6b7a4486 100644 | ||
| --- a/toolchain/apple/toolchain.gni | ||
| +++ b/toolchain/apple/toolchain.gni | ||
| @@ -470,7 +470,7 @@ template("single_apple_toolchain") { | ||
| tool("cxx") { | ||
| depfile = "{{output}}.d" | ||
| precompiled_header_type = "gcc" | ||
| - command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} -c {{source}} -o {{output}}" | ||
| + command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} -c {{source}} -o {{output}}" | ||
| depsformat = "gcc" | ||
| description = "CXX {{output}}" | ||
| outputs = [ "$object_subdir/{{source_name_part}}.o" ] | ||
| @@ -482,7 +482,7 @@ template("single_apple_toolchain") { | ||
|
|
||
| # Module file doesn't need coverage instrumentation because module files | ||
| # represent interfaces rather than implementations. | ||
| - command = "$cxx -MD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} -fmodule-name={{cc_module_name}} -c -x c++ -Xclang -emit-module {{source}} -o {{output}}" | ||
| + command = "this-should-never-run" | ||
| depsformat = "gcc" | ||
| description = "CXX_MODULE {{output}}" | ||
| outputs = [ "$object_subdir/{{source_name_part}}.pcm" ] | ||
| diff --git a/toolchain/gcc_toolchain.gni b/toolchain/gcc_toolchain.gni | ||
| index a22678bb1..eb5db24c9 100644 | ||
| --- a/toolchain/gcc_toolchain.gni | ||
| +++ b/toolchain/gcc_toolchain.gni | ||
| @@ -332,7 +332,7 @@ template("single_gcc_toolchain") { | ||
| tool("cxx") { | ||
| depfile = "{{output}}.d" | ||
| precompiled_header_type = "gcc" | ||
| - command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} {{module_deps_no_self}} -c {{source}} -o {{output}}" | ||
| + command = "$coverage_wrapper$cxx $md -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} -c {{source}} -o {{output}}" | ||
| depsformat = "gcc" | ||
| description = "CXX {{output}}" | ||
| outputs = [ "$object_subdir/{{source_name_part}}.o" ] | ||
| @@ -343,7 +343,7 @@ template("single_gcc_toolchain") { | ||
|
|
||
| # Module file doesn't need coverage instrumentation because module files | ||
| # represent interfaces rather than implementations. | ||
| - command = "$cxx -MD -MF $depfile {{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}}${extra_cppflags}${extra_cxxflags} {{module_deps_no_self}} -fmodule-name={{cc_module_name}} -x c++ -Xclang -emit-module -c {{source}} -o {{output}}" | ||
| + command = "this-should-never-run" | ||
| depsformat = "gcc" | ||
| description = "CXX_MODULE {{output}}" | ||
| outputs = [ "$object_subdir/{{source_name_part}}.pcm" ] | ||
|
BillyONeal marked this conversation as resolved.
|
||
| diff --git a/toolchain/win/toolchain.gni b/toolchain/win/toolchain.gni | ||
| index 8d0b87816..dbefdda0b 100644 | ||
| --- a/toolchain/win/toolchain.gni | ||
| +++ b/toolchain/win/toolchain.gni | ||
| @@ -239,7 +239,7 @@ template("msvc_toolchain") { | ||
| depsformat = "msvc" | ||
| description = "CXX_MODULE {{output}}" | ||
| outputs = [ "$object_subdir/{{source_name_part}}.pcm" ] | ||
| - command = "$env_wrapper$cl /Fo{{output}} /nologo $show_includes $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} {{cflags_cc}} {{module_deps_no_self}} /Fd\"$pdbname\" -fmodule-name={{cc_module_name}} /c -x c++ -Xclang -emit-module {{source}}" | ||
| + command = "this-should-never-run" | ||
|
BillyONeal marked this conversation as resolved.
|
||
| } | ||
|
|
||
| tool("cxx") { | ||
| @@ -255,7 +255,7 @@ template("msvc_toolchain") { | ||
|
|
||
| # Note that the code coverage wrapper scripts assumes that {{source}} | ||
| # comes immediately after /c. | ||
| - command = "$coverage_wrapper$env_wrapper$cl /c {{source}} /Fo{{output}} /nologo $show_includes $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} /TP {{cflags_cc}} {{module_deps_no_self}} /Fd\"$pdbname\"" | ||
| + command = "$coverage_wrapper$env_wrapper$cl /c {{source}} /Fo{{output}} /nologo $show_includes $sys_include_flags{{defines}} {{include_dirs}} {{cflags}} /TP {{cflags_cc}} /Fd\"$pdbname\"" | ||
| } | ||
|
|
||
| tool("rc") { | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,18 @@ | ||
| diff --git a/toolchain/apple/toolchain.gni b/toolchain/apple/toolchain.gni | ||
| index dd2722015..122773617 100644 | ||
| --- a/toolchain/apple/toolchain.gni | ||
| +++ b/toolchain/apple/toolchain.gni | ||
| @@ -528,11 +528,11 @@ template("single_apple_toolchain") { | ||
|
|
||
| # Apple's libtool fails if the response file is empty (e.g., for empty targets). | ||
| # We work around this by writing a dummy archive with the ar magic number. | ||
| - command = "rm -f {{output}} && if [ -s \"$rspfile\" ]; then TOOL_VERSION=${tool_versions.filter_libtool} $python_path $script $libtool -static -D {{arflags}} -o {{output}} @$rspfile; else printf '!<arch>\n' > {{output}}; fi" | ||
| + command = "rm -f {{output}} && if [ -s \"$rspfile\" ]; then TOOL_VERSION=${tool_versions.filter_libtool} $python_path $script $libtool -static {{arflags}} -o {{output}} @$rspfile; else printf '!<arch>\n' > {{output}}; fi" | ||
| description = "LIBTOOL-STATIC {{output}}" | ||
| } else { | ||
| ar = "${prefix}llvm-ar" | ||
| - command = "\"$ar\" {{arflags}} -r -c -s -D {{output}} @$rspfile" | ||
| + command = "\"$ar\" {{arflags}} -r -c -s {{output}} @$rspfile" | ||
|
|
||
| # Remove the output file first so that ar doesn't try to modify the | ||
| # existing file. |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| --- a/config/compiler/BUILD.gn | ||
| +++ b/config/compiler/BUILD.gn | ||
| @@ -625,13 +625,6 @@ | ||
| ] | ||
| } | ||
|
|
||
| - # The performance improvement does not seem worth the risk. See | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems to explicitly revert something upstream explicitly thoughtfully considered and added. Can you explain? Ditto the next several patches.
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Chromium/WebRTC builds against tip-of-tree Clang, and upstream added I’m not trying to argue that WebRTC should or should not use lifetime DSE in general. The goal here is just to stay aligned with upstream where possible, while still allowing the port to build on compilers that do not support the option. |
||
| - # https://crbug.com/484082200 for background and https://crrev.com/c/7593035 | ||
| - # for discussion. | ||
| - if (!is_wasm) { | ||
| - cflags += [ "-fno-lifetime-dse" ] | ||
| - } | ||
| - | ||
| # TODO(hans): Remove this once Clang generates better optimized debug info | ||
| # by default. https://crbug.com/765793 | ||
| cflags += [ | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,26 @@ | ||
| --- a/config/compiler/BUILD.gn | ||
| +++ b/config/compiler/BUILD.gn | ||
| @@ -1901,22 +1901,7 @@ | ||
| # See also: https://crbug.com/40891132#comment10 | ||
| config("sanitize_c_array_bounds") { | ||
| if (!is_ubsan && is_clang && !(is_asan && target_cpu == "x86")) { | ||
| - cflags = [ | ||
| - "-fsanitize=array-bounds", | ||
| - "-fsanitize-trap=array-bounds", | ||
| - | ||
| - # Some code users feature detection to determine if UBSAN (or any | ||
| - # sanitizer) is enabled, they then do expensive debug like operations. We | ||
| - # want to suppress this behaviour since we want to keep performance costs | ||
| - # as low as possible while having these checks. | ||
| - "-fsanitize-ignore-for-ubsan-feature=array-bounds", | ||
| - | ||
| - # Because we've enabled array-bounds sanitizing we also want to suppress | ||
| - # the related warning about "unsafe-buffer-usage-in-static-sized-array", | ||
| - # since we know that the array bounds sanitizing will catch any out-of- | ||
| - # bounds accesses. | ||
| - "-Wno-unsafe-buffer-usage-in-static-sized-array", | ||
| - ] | ||
| + cflags = [] | ||
| } | ||
| } | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,20 @@ | ||
| --- a/config/compiler/BUILD.gn | ||
| +++ b/config/compiler/BUILD.gn | ||
| @@ -1925,16 +1925,7 @@ | ||
| # `NOTREACHED()` at the end of such functions. | ||
| config("sanitize_return") { | ||
| if (!is_ubsan && is_clang) { | ||
| - cflags = [ | ||
| - "-fsanitize=return", | ||
| - "-fsanitize-trap=return", | ||
| - | ||
| - # Some code users feature detection to determine if UBSAN (or any | ||
| - # sanitizer) is enabled, they then do expensive debug like operations. We | ||
| - # want to suppress this behaviour since we want to keep performance costs | ||
| - # as low as possible while having these checks. | ||
| - "-fsanitize-ignore-for-ubsan-feature=return", | ||
| - ] | ||
| + cflags = [] | ||
| } | ||
| } | ||
|
|
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| diff --git a/vs_toolchain.py b/vs_toolchain.py | ||
| index 5d83b6c..d82417b 100644 | ||
| --- a/vs_toolchain.py | ||
| +++ b/vs_toolchain.py | ||
| @@ -468,7 +468,10 @@ def _CopyDebugger(target_dir, target_cpu): | ||
| debug_files = [('dbghelp.dll', False), ('dbgcore.dll', True), | ||
| ('symsrv.dll', True)] | ||
| for debug_file, is_optional in debug_files: | ||
| - full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file) | ||
| + full_path = os.path.join(win_sdk_dir, 'Debuggers', target_cpu, debug_file) | ||
| + local_toolchain = not bool( | ||
| + int(os.environ.get('DEPOT_TOOLS_WIN_TOOLCHAIN', '1')) | ||
| + ) | ||
| if not os.path.exists(full_path): | ||
| - if is_optional: | ||
| + if is_optional or local_toolchain: | ||
| continue | ||
| else: | ||
| raise Exception('%s not found in "%s"\r\nYou must install ' |
Uh oh!
There was an error while loading. Please reload this page.