From: Andi Kleen <a...@linux.intel.com>

objtool's assembler nanny currently cannot deal with the code generated
by the retpoline compiler and throws hundreds of warnings, mostly
because it sees calls that don't have a symbolic target.

Exclude all the options that rely on objtool when RETPOLINE is active.

This mainly means that we use the frame pointer unwinder and livepatch
is not supported.

Eventually objtool can be fixed to handle this.

Signed-off-by: Andi Kleen <a...@linux.intel.com>
Signed-off-by: David Woodhouse <d...@amazon.co.uk>
Acked-By: Arjan van de Ven <ar...@linux.intel.com>
---
 arch/x86/Kconfig       | 4 ++--
 arch/x86/Kconfig.debug | 6 +++---
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 77c58ae..651d25f 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -171,8 +171,8 @@ config X86
        select HAVE_PERF_USER_STACK_DUMP
        select HAVE_RCU_TABLE_FREE
        select HAVE_REGS_AND_STACK_ACCESS_API
-       select HAVE_RELIABLE_STACKTRACE         if X86_64 && 
UNWINDER_FRAME_POINTER && STACK_VALIDATION
-       select HAVE_STACK_VALIDATION            if X86_64
+       select HAVE_RELIABLE_STACKTRACE         if X86_64 && 
UNWINDER_FRAME_POINTER && STACK_VALIDATION && !RETPOLINE
+       select HAVE_STACK_VALIDATION            if X86_64 && !RETPOLINE
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_USER_RETURN_NOTIFIER
diff --git a/arch/x86/Kconfig.debug b/arch/x86/Kconfig.debug
index 6293a87..9f3928d 100644
--- a/arch/x86/Kconfig.debug
+++ b/arch/x86/Kconfig.debug
@@ -359,8 +359,8 @@ config PUNIT_ATOM_DEBUG
 
 choice
        prompt "Choose kernel unwinder"
-       default UNWINDER_ORC if X86_64
-       default UNWINDER_FRAME_POINTER if X86_32
+       default UNWINDER_ORC if X86_64 && !RETPOLINE
+       default UNWINDER_FRAME_POINTER if X86_32 || RETPOLINE
        ---help---
          This determines which method will be used for unwinding kernel stack
          traces for panics, oopses, bugs, warnings, perf, /proc/<pid>/stack,
@@ -368,7 +368,7 @@ choice
 
 config UNWINDER_ORC
        bool "ORC unwinder"
-       depends on X86_64
+       depends on X86_64 && !RETPOLINE
        select STACK_VALIDATION
        ---help---
          This option enables the ORC (Oops Rewind Capability) unwinder for
-- 
2.7.4

Reply via email to