Commit 8fd20298 authored by Victor Gomes's avatar Victor Gomes Committed by V8 LUCI CQ

[bazel] Support build mode compilation

To enable all V8 debugging features, compile with:
bazel build --config=debug :d8

No-Try: true
Bug: v8:11234
Change-Id: I83209b1b4ceff95cc25a26488a55fb026cb5bc04
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3018082
Auto-Submit: Victor Gomes <victorgomes@chromium.org>
Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#75696}
parent c76e2adf
...@@ -6,4 +6,21 @@ ...@@ -6,4 +6,21 @@
build --action_env=BAZEL_COMPILER=clang build --action_env=BAZEL_COMPILER=clang
build --action_env=CC=clang build --action_env=CC=clang
build --action_env=CXX=clang++ build --action_env=CXX=clang++
build --action_env=PATH build --action_env=PATH
\ No newline at end of file
# V8 debug config
build:debug --compilation_mode=dbg
build:debug --config=v8_enable_debugging_features
build:debug --//:v8_enable_fast_mksnapshot
build:debug --//:v8_enable_backtrace
# v8_enable_debugging_features flags
build:v8_enable_debugging_features --//:v8_enable_verify_heap
build:v8_enable_debugging_features --//:v8_enable_object_print
build:v8_enable_debugging_features --//:v8_enable_disassembler
build:v8_enable_debugging_features --//:v8_enable_trace_maps
build:v8_enable_debugging_features --//:v8_enable_test_features
build:v8_enable_debugging_features --//:v8_enable_v8_checks
build:v8_enable_debugging_features --//:v8_code_comments
build:v8_enable_debugging_features --//:v8_enable_debug_code
build:v8_enable_debugging_features --//:v8_enable_snapshot_native_code_counters
...@@ -21,6 +21,13 @@ load( ...@@ -21,6 +21,13 @@ load(
# Configuration settings # Configuration settings
# ================================================= # =================================================
config_setting(
name = "is_debug",
values = {
"compilation_mode": "dbg",
},
)
config_setting( config_setting(
name = "is_k8", name = "is_k8",
values = {"cpu": "k8"}, values = {"cpu": "k8"},
...@@ -122,9 +129,6 @@ config_setting( ...@@ -122,9 +129,6 @@ config_setting(
# v8_enable_fast_torque # v8_enable_fast_torque
# v8_win64_unwinding_info # v8_win64_unwinding_info
# v8_enable_31bit_smis_on_64bit_arch # v8_enable_31bit_smis_on_64bit_arch
# v8_enable_object_print
# v8_enable_trace_maps
# v8_enable_v8_checks
# v8_enable_trace_unoptimized # v8_enable_trace_unoptimized
# v8_enable_trace_ignition # v8_enable_trace_ignition
# v8_enable_trace_baseline_exec # v8_enable_trace_baseline_exec
...@@ -136,7 +140,6 @@ config_setting( ...@@ -136,7 +140,6 @@ config_setting(
# v8_enable_builtins_profiling # v8_enable_builtins_profiling
# v8_enable_builtins_profiling_verbose # v8_enable_builtins_profiling_verbose
# v8_builtins_profiling_log_file # v8_builtins_profiling_log_file
# v8_enable_test_features
# v8_enable_short_builtin_calls # v8_enable_short_builtin_calls
# v8_enable_external_code_space # v8_enable_external_code_space
# v8_postmortem_support # v8_postmortem_support
...@@ -186,6 +189,7 @@ v8_flag(name = "v8_code_comments") ...@@ -186,6 +189,7 @@ v8_flag(name = "v8_code_comments")
v8_flag(name = "v8_deprecation_warnings", default = True) v8_flag(name = "v8_deprecation_warnings", default = True)
v8_flag(name = "v8_imminent_deprecation_warnings", default = True) v8_flag(name = "v8_imminent_deprecation_warnings", default = True)
v8_flag(name = "v8_enable_backtrace")
v8_flag(name = "v8_enable_debug_code") v8_flag(name = "v8_enable_debug_code")
v8_flag(name = "v8_enable_disassembler") v8_flag(name = "v8_enable_disassembler")
v8_flag(name = "v8_enable_handle_zapping", default = True) v8_flag(name = "v8_enable_handle_zapping", default = True)
...@@ -195,12 +199,16 @@ v8_flag(name = "v8_enable_future") ...@@ -195,12 +199,16 @@ v8_flag(name = "v8_enable_future")
v8_flag(name = "v8_enable_i18n_support", default = True) v8_flag(name = "v8_enable_i18n_support", default = True)
v8_flag(name = "v8_enable_lazy_source_positions", default = True) v8_flag(name = "v8_enable_lazy_source_positions", default = True)
v8_flag(name = "v8_enable_minor_mc", default = True) v8_flag(name = "v8_enable_minor_mc", default = True)
v8_flag(name = "v8_enable_object_print")
v8_flag(name = "v8_enable_slow_dchecks") v8_flag(name = "v8_enable_slow_dchecks")
v8_flag(name = "v8_enable_snapshot_code_comments") v8_flag(name = "v8_enable_snapshot_code_comments")
v8_flag(name = "v8_enable_snapshot_native_code_counters") v8_flag(name = "v8_enable_snapshot_native_code_counters")
v8_flag(name = "v8_enable_trace_maps")
v8_flag(name = "v8_enable_v8_checks")
v8_flag(name = "v8_enable_verify_csa") v8_flag(name = "v8_enable_verify_csa")
v8_flag(name = "v8_enable_verify_heap") v8_flag(name = "v8_enable_verify_heap")
v8_flag(name = "v8_enable_verify_predictable") v8_flag(name = "v8_enable_verify_predictable")
v8_flag(name = "v8_enable_test_features")
v8_flag(name = "v8_enable_webassembly", default = True) v8_flag(name = "v8_enable_webassembly", default = True)
v8_int(name = "v8_typed_array_max_size_in_heap", default = 64) v8_int(name = "v8_typed_array_max_size_in_heap", default = 64)
...@@ -232,6 +240,12 @@ selects.config_setting_group( ...@@ -232,6 +240,12 @@ selects.config_setting_group(
], ],
) )
# Enable -rdynamic.
selects.config_setting_group(
name = "should_add_rdynamic",
match_all = [ ":is_linux", ":is_v8_enable_backtrace" ],
)
v8_custom_config(name = "default") v8_custom_config(name = "default")
v8_config( v8_config(
...@@ -249,9 +263,12 @@ v8_config( ...@@ -249,9 +263,12 @@ v8_config(
"v8_enable_i18n_support": "V8_INTL_SUPPORT", "v8_enable_i18n_support": "V8_INTL_SUPPORT",
"v8_enable_lazy_source_positions": "V8_ENABLE_LAZY_SOURCE_POSITIONS", "v8_enable_lazy_source_positions": "V8_ENABLE_LAZY_SOURCE_POSITIONS",
"v8_enable_minor_mc": "ENABLE_MINOR_MC", "v8_enable_minor_mc": "ENABLE_MINOR_MC",
"v8_enable_object_print": "OBJECT_PRINT",
"v8_enable_slow_dchecks": "ENABLE_SLOW_DCHECKS", "v8_enable_slow_dchecks": "ENABLE_SLOW_DCHECKS",
"v8_enable_snapshot_native_code_counters": "v8_enable_snapshot_native_code_counters":
"V8_SNAPSHOT_NATIVE_CODE_COUNTERS", "V8_SNAPSHOT_NATIVE_CODE_COUNTERS",
"v8_enable_trace_maps": "V8_TRACE_MAPS",
"v8_enable_v8_checks": "V8_ENABLE_CHECKS",
"v8_enable_verify_csa": "ENABLE_VERIFY_CSA", "v8_enable_verify_csa": "ENABLE_VERIFY_CSA",
"v8_enable_verify_heap": "VERIFY_HEAP", "v8_enable_verify_heap": "VERIFY_HEAP",
"v8_enable_verify_predictable": "VERIFY_PREDICTABLE", "v8_enable_verify_predictable": "VERIFY_PREDICTABLE",
...@@ -263,6 +280,9 @@ v8_config( ...@@ -263,6 +280,9 @@ v8_config(
"V8_ADVANCED_BIGINT_ALGORITHMS", "V8_ADVANCED_BIGINT_ALGORITHMS",
"V8_CONCURRENT_MARKING", "V8_CONCURRENT_MARKING",
] + select({ ] + select({
":is_debug": [ "DEBUG" ],
"//conditions:default": [],
}) + select({
":is_ia32": [ "V8_TARGET_ARCH_IA32" ], ":is_ia32": [ "V8_TARGET_ARCH_IA32" ],
":is_x64": [ "V8_TARGET_ARCH_X64" ], ":is_x64": [ "V8_TARGET_ARCH_X64" ],
":is_arm": [ ":is_arm": [
...@@ -301,6 +321,13 @@ v8_config( ...@@ -301,6 +321,13 @@ v8_config(
"V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE" "V8_COMPRESS_POINTERS_IN_ISOLATE_CAGE"
], ],
"//conditions:default": [], "//conditions:default": [],
}) + select({
":is_v8_enable_test_features": [
"V8_ENABLE_ALLOCATION_TIMEOUT",
"V8_ENABLE_FORCE_SLOW_PATH",
"V8_ENABLE_DOUBLE_CONST_STORE_CHECK",
],
"//conditions:default": [],
}), }),
deps = [ ":default" ], deps = [ ":default" ],
) )
......
...@@ -99,7 +99,7 @@ def _default_args(configs): ...@@ -99,7 +99,7 @@ def _default_args(configs):
"-Wno-implicit-int-float-conversion", "-Wno-implicit-int-float-conversion",
"-Wno-deprecated-copy", "-Wno-deprecated-copy",
"-Wno-non-virtual-dtor", "-Wno-non-virtual-dtor",
"-std=c++14", "-std=c++17",
"-isystem .", "-isystem .",
], ],
includes = ["include"], includes = ["include"],
...@@ -108,6 +108,9 @@ def _default_args(configs): ...@@ -108,6 +108,9 @@ def _default_args(configs):
] + select({ ] + select({
":is_macos": [], ":is_macos": [],
"//conditions:default": [ "-Wl,--no-as-needed -ldl" ], "//conditions:default": [ "-Wl,--no-as-needed -ldl" ],
}) + select({
":should_add_rdynamic": [ "-rdynamic" ],
"//conditions:default": [],
}), }),
) )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment