lkml.org 
[lkml]   [2018]   [Jan]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    SubjectRe: [PATCH v6 10/10] x86/retpoline: Exclude objtool with retpoline
    On Sun, 7 Jan 2018, David Woodhouse wrote:

    Cc+ Josh Poimboeuf <jpoimboe@redhat.com>

    Sigh....

    > From: Andi Kleen <ak@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 <ak@linux.intel.com>
    > Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
    > Acked-By: Arjan van de Ven <arjan@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
    >
    >

    \
     
     \ /
      Last update: 2018-01-14 23:17    [W:4.062 / U:0.132 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site