On Wed, Jul 13, 2022 at 08:34:09PM +1000, Stephen Rothwell wrote: > Hi all, > > Today's linux-next merge of the rust tree got a conflict in: > > arch/x86/Makefile > > between commit: > > f43b9876e857 ("x86/retbleed: Add fine grained Kconfig knobs") > > from Linus' tree and commit: > > 0ea4b9a1bece ("Kbuild: add Rust support") > > from the rust tree. > > I fixed it up (see below) and can carry the fix as necessary. This > is now fixed as far as linux-next is concerned, but any non trivial > conflicts should be mentioned to your upstream maintainer when your tree > is submitted for merging. You may also want to consider cooperating > with the maintainer of the conflicting tree to minimise any particularly > complex conflicts. > > -- > Cheers, > Stephen Rothwell > > diff --cc arch/x86/Makefile > index 1f40dad30d50,5ac9b324751d..000000000000 > --- a/arch/x86/Makefile > +++ b/arch/x86/Makefile > @@@ -21,12 -21,8 +21,13 @@@ ifdef CONFIG_CC_IS_CLAN > RETPOLINE_CFLAGS := -mretpoline-external-thunk > RETPOLINE_VDSO_CFLAGS := -mretpoline > endif > + RETPOLINE_RUSTFLAGS := -Ctarget-feature=+retpoline-external-thunk > > +ifdef CONFIG_RETHUNK > +RETHUNK_CFLAGS := -mfunction-return=thunk-extern > +RETPOLINE_CFLAGS += $(RETHUNK_CFLAGS) > +endif Does Rust have the equivalent of -mfunction-return=thunk-extern ? Related, how does Rust deal with all the various CC_HAS_ Kconfig stuff? What if C has the relevant option but Rust does not; then we must not have the feature enabled or there will be a mis-match. Do we now have to litter everythign with RUSTC_HAS_ ?