@@ -796,18 +796,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
796796KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
797797KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
798798
799- ifdef CONFIG_RUST_DEBUG_ASSERTIONS
800- KBUILD_RUSTFLAGS += -Cdebug-assertions=y
801- else
802- KBUILD_RUSTFLAGS += -Cdebug-assertions=n
803- endif
804-
805- ifdef CONFIG_RUST_OVERFLOW_CHECKS
806- KBUILD_RUSTFLAGS += -Coverflow-checks=y
807- else
808- KBUILD_RUSTFLAGS += -Coverflow-checks=n
809- endif
810-
811799ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
812800KBUILD_CFLAGS += -O2
813801KBUILD_RUSTFLAGS_OPT_LEVEL_MAP := 2
@@ -819,21 +807,18 @@ KBUILD_CFLAGS += -Os
819807KBUILD_RUSTFLAGS_OPT_LEVEL_MAP := z
820808endif
821809
822- ifdef CONFIG_RUST_OPT_LEVEL_SIMILAR_AS_CHOSEN_FOR_C
823- KBUILD_RUSTFLAGS += -Copt-level=$(KBUILD_RUSTFLAGS_OPT_LEVEL_MAP )
824- else ifdef CONFIG_RUST_OPT_LEVEL_0
825- KBUILD_RUSTFLAGS += -Copt-level=0
826- else ifdef CONFIG_RUST_OPT_LEVEL_1
827- KBUILD_RUSTFLAGS += -Copt-level=1
828- else ifdef CONFIG_RUST_OPT_LEVEL_2
829- KBUILD_RUSTFLAGS += -Copt-level=2
830- else ifdef CONFIG_RUST_OPT_LEVEL_3
831- KBUILD_RUSTFLAGS += -Copt-level=3
832- else ifdef CONFIG_RUST_OPT_LEVEL_S
833- KBUILD_RUSTFLAGS += -Copt-level=s
834- else ifdef CONFIG_RUST_OPT_LEVEL_Z
835- KBUILD_RUSTFLAGS += -Copt-level=z
836- endif
810+ # Always set `debug-assertions` and `overflow-checks` because their default
811+ # depends on `opt-level` and `debug-assertions`, respectively.
812+ KBUILD_RUSTFLAGS += -Cdebug-assertions=$(if $(CONFIG_RUST_DEBUG_ASSERTIONS ) ,y,n)
813+ KBUILD_RUSTFLAGS += -Coverflow-checks=$(if $(CONFIG_RUST_OVERFLOW_CHECKS ) ,y,n)
814+ KBUILD_RUSTFLAGS += -Copt-level=$\
815+ $(if $(CONFIG_RUST_OPT_LEVEL_SIMILAR_AS_CHOSEN_FOR_C ) ,$(KBUILD_RUSTFLAGS_OPT_LEVEL_MAP ) ) $\
816+ $(if $(CONFIG_RUST_OPT_LEVEL_0 ) ,0) $\
817+ $(if $(CONFIG_RUST_OPT_LEVEL_1 ) ,1) $\
818+ $(if $(CONFIG_RUST_OPT_LEVEL_2 ) ,2) $\
819+ $(if $(CONFIG_RUST_OPT_LEVEL_3 ) ,3) $\
820+ $(if $(CONFIG_RUST_OPT_LEVEL_S ) ,s) $\
821+ $(if $(CONFIG_RUST_OPT_LEVEL_Z ) ,z)
837822
838823# Tell gcc to never replace conditional load with a non-conditional one
839824ifdef CONFIG_CC_IS_GCC
@@ -1172,10 +1157,7 @@ export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
11721157ifeq ($(KBUILD_EXTMOD ) ,)
11731158core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/
11741159core-$(CONFIG_BLOCK) += block/
1175-
1176- ifdef CONFIG_RUST
1177- core-y += rust/
1178- endif
1160+ core-$(CONFIG_RUST) += rust/
11791161
11801162vmlinux-dirs := $(patsubst % /,% ,$(filter % /, \
11811163 $(core-y ) $(core-m ) $(drivers-y ) $(drivers-m ) \
0 commit comments