• Mark Rutland's avatar
    arm64: entry: suppress W=1 prototype warnings · bf023e76
    Mark Rutland authored
    When building with W=1, GCC complains that we haven't defined prototypes
    for a number of non-static functions in entry-common.c:
    
    | arch/arm64/kernel/entry-common.c:203:25: warning: no previous prototype for 'el1_sync_handler' [-Wmissing-prototypes]
    |   203 | asmlinkage void noinstr el1_sync_handler(struct pt_regs *regs)
    |       |                         ^~~~~~~~~~~~~~~~
    | arch/arm64/kernel/entry-common.c:377:25: warning: no previous prototype for 'el0_sync_handler' [-Wmissing-prototypes]
    |   377 | asmlinkage void noinstr el0_sync_handler(struct pt_regs *regs)
    |       |                         ^~~~~~~~~~~~~~~~
    | arch/arm64/kernel/entry-common.c:447:25: warning: no previous prototype for 'el0_sync_compat_handler' [-Wmissing-prototypes]
    |   447 | asmlinkage void noinstr el0_sync_compat_handler(struct pt_regs *regs)
    |       |                         ^~~~~~~~~~~~~~~~~~~~~~~
    
    ... and so automated build systems using W=1 end up sending a number of
    emails, despite this not being a real problem as the only callers are in
    entry.S where prototypes cannot matter.
    
    For similar cases in entry-common.c we added prototypes to
    asm/exception.h, so let's do the same thing here for consistency.
    
    Note that there are a number of other warnings printed with W=1, both
    under arch/arm64 and in core code, and this patch only addresses the
    cases in entry-common.c. Automated build systems typically filter these
    warnings such that they're only reported when changes are made nearby,
    so we don't need to solve them all at once.
    Signed-off-by: default avatarMark Rutland <mark.rutland@arm.com>
    Cc: Will Deacon <will@kernel.org>
    Link: https://lore.kernel.org/r/20201214113353.44417-1-mark.rutland@arm.comSigned-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
    bf023e76
exception.h 2.04 KB