@@ -51,8 +51,7 @@ alloc-cfgs = \
51
51
quiet_cmd_rustdoc = RUSTDOC $(if $(rustdoc_host ) ,H, ) $<
52
52
cmd_rustdoc = \
53
53
OBJTREE=$(abspath $(objtree ) ) \
54
- $(RUSTDOC ) $(if $(rustdoc_host ) ,,$(rust_cross_flags ) ) \
55
- $(filter-out -Cpanic=abort, $(rust_flags ) ) \
54
+ $(RUSTDOC ) $(if $(rustdoc_host ) ,$(rust_common_flags ) ,$(rust_flags ) ) \
56
55
$(rustc_target_flags ) -L $(objtree ) /rust \
57
56
--output $(objtree ) /rust/doc --crate-name $(subst rustdoc-,,$@ ) \
58
57
@$(objtree ) /include/generated/rustc_cfg $<
@@ -106,7 +105,8 @@ rustdoc-kernel: $(srctree)/rust/kernel/lib.rs rustdoc-core \
106
105
quiet_cmd_rustc_test_library = RUSTC TL $<
107
106
cmd_rustc_test_library = \
108
107
OBJTREE=$(abspath $(objtree ) ) \
109
- $(RUSTC ) $(filter-out --sysroot=% , $(filter-out -Cpanic=abort, $(rust_flags ) ) ) \
108
+ $(RUSTC ) $(rust_common_flags ) \
109
+ @$(objtree ) /include/generated/rustc_cfg \
110
110
$(rustc_target_flags ) --crate-type $(if $(rustc_test_library_proc ) ,proc-macro,rlib) \
111
111
--out-dir $(objtree ) /rust/test/ --cfg testlib \
112
112
--sysroot $(objtree ) /rust/test/sysroot \
@@ -123,7 +123,8 @@ rusttestlib-macros: $(srctree)/rust/macros/lib.rs rusttest-prepare FORCE
123
123
quiet_cmd_rustdoc_test = RUSTDOC T $<
124
124
cmd_rustdoc_test = \
125
125
OBJTREE=$(abspath $(objtree ) ) \
126
- $(RUSTDOC ) --test $(filter-out --sysroot=% , $(filter-out -Cpanic=abort, $(rust_flags ) ) ) \
126
+ $(RUSTDOC ) --test $(rust_common_flags ) \
127
+ @$(objtree ) /include/generated/rustc_cfg \
127
128
$(rustc_target_flags ) $(rustdoc_test_target_flags ) \
128
129
--sysroot $(objtree ) /rust/test/sysroot $(rustdoc_test_quiet ) \
129
130
-L $(objtree ) /rust/test \
@@ -135,7 +136,8 @@ quiet_cmd_rustdoc_test = RUSTDOC T $<
135
136
quiet_cmd_rustc_test = RUSTC T $<
136
137
cmd_rustc_test = \
137
138
OBJTREE=$(abspath $(objtree ) ) \
138
- $(RUSTC ) --test $(filter-out --sysroot=% , $(filter-out -Cpanic=abort, $(rust_flags ) ) ) \
139
+ $(RUSTC ) --test $(rust_common_flags ) \
140
+ @$(objtree ) /include/generated/rustc_cfg \
139
141
$(rustc_target_flags ) --out-dir $(objtree ) /rust/test \
140
142
--sysroot $(objtree ) /rust/test/sysroot \
141
143
-L $(objtree ) /rust/test/ --crate-name $(subst rusttest-,,$@ ) $< ; \
@@ -305,13 +307,10 @@ $(objtree)/rust/exports_alloc_generated.h: $(objtree)/rust/alloc.o FORCE
305
307
$(objtree ) /rust/exports_kernel_generated.h : $(objtree ) /rust/kernel.o FORCE
306
308
$(call if_changed,exports)
307
309
308
- # `-Cpanic=unwind -Cforce-unwind-tables=y` overrides `rust_flags` in order to
309
- # avoid the https://github.com/rust-lang/rust/issues/82320 rustc crash.
310
310
quiet_cmd_rustc_procmacro = $(RUSTC_OR_CLIPPY_QUIET ) P $@
311
311
cmd_rustc_procmacro = \
312
- $(RUSTC_OR_CLIPPY ) $(rust_flags ) \
312
+ $(RUSTC_OR_CLIPPY ) $(rust_common_flags ) \
313
313
--emit=dep-info,link --extern proc_macro \
314
- -Cpanic=unwind -Cforce-unwind-tables=y \
315
314
--crate-type proc-macro --out-dir $(objtree ) /rust/ \
316
315
--crate-name $(patsubst lib% .so,% ,$(notdir $@ ) ) $< ; \
317
316
mv $(objtree ) /rust/$(patsubst lib% .so,% ,$(notdir $@ ) ) .d $(depfile ) ; \
@@ -328,7 +327,7 @@ quiet_cmd_rustc_library = $(if $(skip_clippy),RUSTC,$(RUSTC_OR_CLIPPY_QUIET)) L
328
327
cmd_rustc_library = \
329
328
OBJTREE=$(abspath $(objtree ) ) \
330
329
$(if $(skip_clippy ) ,$(RUSTC ) ,$(RUSTC_OR_CLIPPY ) ) \
331
- $(filter-out $(skip_flags ) ,$(rust_flags ) $(rust_cross_flags ) $( rustc_target_flags ) ) \
330
+ $(filter-out $(skip_flags ) ,$(rust_flags ) $(rustc_target_flags ) ) \
332
331
--emit=dep-info,obj,metadata \
333
332
--crate-type rlib --out-dir $(objtree ) /rust/ -L $(objtree ) /rust/ \
334
333
--crate-name $(patsubst % .o,% ,$(notdir $@ ) ) $< ; \
0 commit comments