CONFIG_NO_AUTO_INLINE is a new config option in -next (commit) that prevents compilers from inlining any functions not marked as inline. It gets enabled in an allyesconfig build for x86_64.
The fail I noticed after this is
ld: arch/x86/platform/efi/efi_64.o: in function `efi_sync_low_kernel_mappings':
(.text+0x8e5): undefined reference to `__compiletime_assert_277'
I think it is one of the MAYBE_BUILD_BUG_ON because they involve __builtin_constant_p, relating it to #7. We might not have to worry about this on 4.20/5.0 but we'll see. Will try to look into this over the next few days unless someone else beats me to it.
As a workaround:
diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index 2a4274b756dc..12a9ade3aecb 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -213,6 +213,7 @@ config GDB_SCRIPTS
config NO_AUTO_INLINE
bool "Disable compiler auto-inline optimizations"
+ depends on !CC_IS_CLANG
help
This will prevent the compiler from optimizing the kernel by
auto-inlining functions not marked with the inline keyword.
CONFIG_NO_AUTO_INLINEis a new config option in -next (commit) that prevents compilers from inlining any functions not marked as inline. It gets enabled in an allyesconfig build for x86_64.The fail I noticed after this is
I think it is one of the
MAYBE_BUILD_BUG_ONbecause they involve__builtin_constant_p, relating it to #7. We might not have to worry about this on 4.20/5.0 but we'll see. Will try to look into this over the next few days unless someone else beats me to it.As a workaround: