lkml.org 
[lkml]   [2022]   [Aug]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH] x86/sev: Mark snp_abort() noreturn
    On Wed, Aug 24, 2022 at 12:29:29PM -0500, Segher Boessenkool wrote:
    > Hi!
    >
    > On Wed, Aug 24, 2022 at 05:24:20PM +0200, Borislav Petkov wrote:
    > > Mark both the function prototype and definition as noreturn in order to
    > > prevent the compiler from doing transformations which confuse objtool
    > > like so:
    > >
    > > vmlinux.o: warning: objtool: sme_enable+0x71: unreachable instruction
    >
    > Would -Wmissing-noreturn have caught this? It sounds like you need this
    > (and then fix all resulting warnings) to not upset objtool?
    >
    > It is nice to have this anyway (if there aren't a zillion false
    > positives), but it seems objtool is very fragile.

    Well, just like gcc has noreturn heuristics so has objtool, it just
    turns into pain when they don't agree with one another.

    Ideally noreturn would be reflected in the object file so we don't have
    to guess at it. STT_FUNC_NORETURN would do I suppose, except then all
    the tools will need to be taught how to deal with that, which is also
    very painful.

    Another options is something like .symtab.noreturn which is another
    symbol table explicitly listing the noreturn functions. Since it's an
    extra section tools that don't know about it can freely ignore it and
    carry on as usual.

    \
     
     \ /
      Last update: 2022-08-24 22:46    [W:2.570 / U:0.068 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site