• Josh Poimboeuf's avatar
    objtool: Skip all "unreachable instruction" warnings for gcov kernels · 9cfffb11
    Josh Poimboeuf authored
    Recently objtool has started reporting a few "unreachable instruction"
    warnings when CONFIG_GCOV is enabled for newer versions of GCC.  Usually
    this warning means there's some new control flow that objtool doesn't
    understand.  But in this case, objtool is correct and the instructions
    really are inaccessible.  It's an annoying quirk of gcov, but it's
    harmless, so it's ok to just silence the warnings.
    
    With older versions of GCC, it was relatively easy to detect
    gcov-specific instructions and to skip any unreachable warnings produced
    by them.  But GCC 6 has gotten craftier.
    
    Instead of continuing to play whack-a-mole with gcov, just use a bigger,
    more permanent hammer and disable unreachable warnings for the whole
    file when gcov is enabled.  This is fine to do because a) unreachable
    warnings are usually of questionable value; and b) gcov isn't used for
    production kernels and we can relax the checks a bit there.
    Reported-by: default avatarkbuild test robot <fengguang.wu@intel.com>
    Signed-off-by: default avatarJosh Poimboeuf <jpoimboe@redhat.com>
    Cc: Andy Lutomirski <luto@kernel.org>
    Cc: Arnd Bergmann <arnd@arndb.de>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Brian Gerst <brgerst@gmail.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/38d5c87d61d9cd46486dd2c86f46603dff0df86f.1476393584.git.jpoimboe@redhat.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    9cfffb11
builtin-check.c 29.9 KB