Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 38 additions & 20 deletions base/cvd/.bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -9,43 +9,61 @@ build --test_summary=terse
# Match go/ubsan for always-enabled features
# Docs: https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html

# Out-of-bounds access into a statically sized array.
build:dbg --copt=-fsanitize=array-bounds
build:dbg --linkopt=-fsanitize=array-bounds
build:fastbuild --copt=-fsanitize=array-bounds
build:fastbuild --linkopt=-fsanitize=array-bounds

# Use of a misaligned pointer or creation of a misaligned reference. Also
# sanitizes assume_aligned-like attributes.
build --copt=-fsanitize=alignment
build --linkopt=-fsanitize=alignment

# Out-of-bounds access into a statically sized array.
build --copt=-fsanitize=array-bounds
build --linkopt=-fsanitize=array-bounds
build:dbg --copt=-fsanitize=alignment
build:dbg --linkopt=-fsanitize=alignment
build:fastbuild --copt=-fsanitize=alignment
build:fastbuild --linkopt=-fsanitize=alignment

# Load of a value of an enumerated type which is not in the range of
# representable values for that enumerated type.
build --copt=-fsanitize=enum
build --linkopt=-fsanitize=enum
build:dbg --copt=-fsanitize=enum
build:dbg --linkopt=-fsanitize=enum
build:fastbuild --copt=-fsanitize=enum
build:fastbuild --linkopt=-fsanitize=enum

# Conversion to, from, or between floating-point types which would overflow the
# destination. Because the range of representable values for all floating-point
# types supported by Clang is [-inf, +inf], the only cases detected are
# conversions from floating point to integer types.
build --copt=-fsanitize=float-cast-overflow
build --linkopt=-fsanitize=float-cast-overflow
build:dbg --copt=-fsanitize=float-cast-overflow
build:dbg --linkopt=-fsanitize=float-cast-overflow
build:fastbuild --copt=-fsanitize=float-cast-overflow
build:fastbuild --linkopt=-fsanitize=float-cast-overflow

# Use of a null pointer or creation of a null reference.
build --copt=-fsanitize=null
build --linkopt=-fsanitize=null
build:dbg --copt=-fsanitize=null
build:dbg --linkopt=-fsanitize=null
build:fastbuild --copt=-fsanitize=null
build:fastbuild --linkopt=-fsanitize=null

# In C++, reaching the end of a value-returning function without returning a value.
build --copt=-fsanitize=return
build --linkopt=-fsanitize=return
build:dbg --copt=-fsanitize=return
build:dbg --linkopt=-fsanitize=return
build:fastbuild --copt=-fsanitize=return
build:fastbuild --linkopt=-fsanitize=return

# Returning null pointer from a function which is declared to never return null.
build --copt=-fsanitize=returns-nonnull-attribute
build --linkopt=-fsanitize=returns-nonnull-attribute
build:dbg--copt=-fsanitize=returns-nonnull-attribute
build:dbg --linkopt=-fsanitize=returns-nonnull-attribute
build:fastbuild--copt=-fsanitize=returns-nonnull-attribute
build:fastbuild --linkopt=-fsanitize=returns-nonnull-attribute

# If control flow reaches an unreachable program point.
build --copt=-fsanitize=unreachable
build --linkopt=-fsanitize=unreachable
build:dbg --copt=-fsanitize=unreachable
build:dbg --linkopt=-fsanitize=unreachable
build:fastbuild --copt=-fsanitize=unreachable
build:fastbuild --linkopt=-fsanitize=unreachable

# A variable-length array whose bound does not evaluate to a positive value.
build --copt=-fsanitize=vla-bound
build --linkopt=-fsanitize=vla-bound
build:dbg --copt=-fsanitize=vla-bound
build:dbg --linkopt=-fsanitize=vla-bound
build:fastbuild --copt=-fsanitize=vla-bound
build:fastbuild --linkopt=-fsanitize=vla-bound
Loading