@@ -796,18 +796,6 @@ KBUILD_CFLAGS += $(call cc-disable-warning, format-truncation)
796
796
KBUILD_CFLAGS += $(call cc-disable-warning, format-overflow)
797
797
KBUILD_CFLAGS += $(call cc-disable-warning, address-of-packed-member)
798
798
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
-
811
799
ifdef CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE
812
800
KBUILD_CFLAGS += -O2
813
801
KBUILD_RUSTFLAGS_OPT_LEVEL_MAP := 2
@@ -819,21 +807,18 @@ KBUILD_CFLAGS += -Os
819
807
KBUILD_RUSTFLAGS_OPT_LEVEL_MAP := z
820
808
endif
821
809
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)
837
822
838
823
# Tell gcc to never replace conditional load with a non-conditional one
839
824
ifdef CONFIG_CC_IS_GCC
@@ -1172,10 +1157,7 @@ export MODULES_NSDEPS := $(extmod_prefix)modules.nsdeps
1172
1157
ifeq ($(KBUILD_EXTMOD ) ,)
1173
1158
core-y += kernel/ certs/ mm/ fs/ ipc/ security/ crypto/
1174
1159
core-$(CONFIG_BLOCK) += block/
1175
-
1176
- ifdef CONFIG_RUST
1177
- core-y += rust/
1178
- endif
1160
+ core-$(CONFIG_RUST) += rust/
1179
1161
1180
1162
vmlinux-dirs := $(patsubst % /,% ,$(filter % /, \
1181
1163
$(core-y ) $(core-m ) $(drivers-y ) $(drivers-m ) \
0 commit comments