diff --git a/arch/arm/src/arm/Toolchain.defs b/arch/arm/src/arm/Toolchain.defs index a9299a0b3a3..2505e484620 100644 --- a/arch/arm/src/arm/Toolchain.defs +++ b/arch/arm/src/arm/Toolchain.defs @@ -80,7 +80,7 @@ ifeq ($(CONFIG_ARCH_COVERAGE),y) endif ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif # NuttX buildroot under Linux or Cygwin diff --git a/arch/arm/src/armv6-m/Toolchain.defs b/arch/arm/src/armv6-m/Toolchain.defs index 6fe3f986f77..781ed9dcfb6 100644 --- a/arch/arm/src/armv6-m/Toolchain.defs +++ b/arch/arm/src/armv6-m/Toolchain.defs @@ -154,7 +154,7 @@ endif # Architecture flags ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif ARCHCFLAGS += -fno-common diff --git a/arch/arm/src/armv7-a/Toolchain.defs b/arch/arm/src/armv7-a/Toolchain.defs index 3c8580b3442..f1672fe0c5b 100644 --- a/arch/arm/src/armv7-a/Toolchain.defs +++ b/arch/arm/src/armv7-a/Toolchain.defs @@ -97,7 +97,7 @@ else endif ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y) diff --git a/arch/arm/src/armv7-m/Toolchain.defs b/arch/arm/src/armv7-m/Toolchain.defs index 98fc328bfce..f35c285a96e 100644 --- a/arch/arm/src/armv7-m/Toolchain.defs +++ b/arch/arm/src/armv7-m/Toolchain.defs @@ -172,7 +172,7 @@ endif endif ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif # Generic GNU EABI toolchain diff --git a/arch/arm/src/armv7-r/Toolchain.defs b/arch/arm/src/armv7-r/Toolchain.defs index 6e59529dde2..73fe52a469a 100644 --- a/arch/arm/src/armv7-r/Toolchain.defs +++ b/arch/arm/src/armv7-r/Toolchain.defs @@ -97,7 +97,7 @@ ifeq ($(CONFIG_ENDIAN_BIG),y) endif ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif ifeq ($(CONFIG_ENDIAN_BIG),y) diff --git a/arch/arm/src/armv8-m/Toolchain.defs b/arch/arm/src/armv8-m/Toolchain.defs index 08056ef0f20..f7c59fa2695 100644 --- a/arch/arm/src/armv8-m/Toolchain.defs +++ b/arch/arm/src/armv8-m/Toolchain.defs @@ -181,7 +181,7 @@ endif endif ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif # Generic GNU EABI toolchain diff --git a/arch/arm/src/tlsr82/Toolchain.defs b/arch/arm/src/tlsr82/Toolchain.defs index 113637c3d32..f689caafe84 100644 --- a/arch/arm/src/tlsr82/Toolchain.defs +++ b/arch/arm/src/tlsr82/Toolchain.defs @@ -141,7 +141,7 @@ endif # Architecture flags ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif ARCHCFLAGS += -fno-common diff --git a/arch/risc-v/src/common/Toolchain.defs b/arch/risc-v/src/common/Toolchain.defs index 21554495a0e..269db180fa2 100644 --- a/arch/risc-v/src/common/Toolchain.defs +++ b/arch/risc-v/src/common/Toolchain.defs @@ -153,7 +153,7 @@ ifeq ($(CONFIG_RISCV_TOOLCHAIN),GNU_RVG) endif ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif # Default toolchain diff --git a/arch/xtensa/src/lx6/Toolchain.defs b/arch/xtensa/src/lx6/Toolchain.defs index 5a0f32e7a47..09df1986a0e 100644 --- a/arch/xtensa/src/lx6/Toolchain.defs +++ b/arch/xtensa/src/lx6/Toolchain.defs @@ -44,7 +44,7 @@ endif ARCHCPUFLAGS = -mlongcalls ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y) diff --git a/arch/xtensa/src/lx7/Toolchain.defs b/arch/xtensa/src/lx7/Toolchain.defs index 496bbcbf5d0..2d05a6be4c4 100644 --- a/arch/xtensa/src/lx7/Toolchain.defs +++ b/arch/xtensa/src/lx7/Toolchain.defs @@ -44,7 +44,7 @@ endif ARCHCPUFLAGS = -mlongcalls ifeq ($(CONFIG_MM_KASAN),y) - ARCHCPUFLAGS += -fsanitize=kernel-address + ARCHOPTIMIZATION += -fsanitize=kernel-address endif ifeq ($(CONFIG_DEBUG_CUSTOMOPT),y) diff --git a/boards/sim/sim/sim/scripts/Make.defs b/boards/sim/sim/sim/scripts/Make.defs index a2fde55e7e4..f5666425e86 100644 --- a/boards/sim/sim/sim/scripts/Make.defs +++ b/boards/sim/sim/sim/scripts/Make.defs @@ -71,6 +71,16 @@ ifeq ($(CONFIG_ARCH_COVERAGE),y) ARCHOPTIMIZATION += -fprofile-generate -ftest-coverage endif +ifeq ($(CONFIG_SIM_ASAN),y) + ARCHOPTIMIZATION += -fsanitize=address +else ifeq ($(CONFIG_MM_KASAN),y) + ARCHOPTIMIZATION += -fsanitize=kernel-address +endif + +ifeq ($(CONFIG_SIM_UBSAN),y) + ARCHOPTIMIZATION += -fsanitize=undefined +endif + # Add -fno-common because macOS "ld -r" doesn't seem to pick objects # for common symbols. ARCHCFLAGS = -fno-common -ffunction-sections -fdata-sections @@ -141,19 +151,6 @@ ifeq ($(CONFIG_LIBCXX),y) CXXFLAGS += -D_LIBCPP_DISABLE_AVAILABILITY endif -ifeq ($(CONFIG_SIM_ASAN),y) - CFLAGS += -fsanitize=address - CXXFLAGS += -fsanitize=address -else ifeq ($(CONFIG_MM_KASAN),y) - CFLAGS += -fsanitize=kernel-address - CXXFLAGS += -fsanitize=kernel-address -endif - -ifeq ($(CONFIG_SIM_UBSAN),y) - CFLAGS += -fsanitize=undefined - CXXFLAGS += -fsanitize=undefined -endif - # Loadable module definitions CMODULEFLAGS = $(CFLAGS)