Makefile.ubsan 984 B

123456789101112131415161718
  1. # SPDX-License-Identifier: GPL-2.0
  2. # Enable available and selected UBSAN features.
  3. ubsan-cflags-$(CONFIG_UBSAN_ALIGNMENT) += -fsanitize=alignment
  4. ubsan-cflags-$(CONFIG_UBSAN_BOUNDS_STRICT) += -fsanitize=bounds-strict
  5. ubsan-cflags-$(CONFIG_UBSAN_ARRAY_BOUNDS) += -fsanitize=array-bounds
  6. ubsan-cflags-$(CONFIG_UBSAN_LOCAL_BOUNDS) += -fsanitize=local-bounds
  7. ubsan-cflags-$(CONFIG_UBSAN_SHIFT) += -fsanitize=shift
  8. ubsan-cflags-$(CONFIG_UBSAN_DIV_ZERO) += -fsanitize=integer-divide-by-zero
  9. ubsan-cflags-$(CONFIG_UBSAN_UNREACHABLE) += -fsanitize=unreachable
  10. ubsan-cflags-$(CONFIG_UBSAN_BOOL) += -fsanitize=bool
  11. ubsan-cflags-$(CONFIG_UBSAN_ENUM) += -fsanitize=enum
  12. ubsan-cflags-$(CONFIG_UBSAN_TRAP) += $(call cc-option,-fsanitize-trap=undefined,-fsanitize-undefined-trap-on-error)
  13. export CFLAGS_UBSAN := $(ubsan-cflags-y)
  14. ubsan-signed-wrap-cflags-$(CONFIG_UBSAN_SIGNED_WRAP) += -fsanitize=signed-integer-overflow
  15. export CFLAGS_UBSAN_SIGNED_WRAP := $(ubsan-signed-wrap-cflags-y)