lkml.org 
[lkml]   [2017]   [Jan]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 83/83] x86/kbuild: enable modversions for symbols exported from asm
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Adam Borowski <kilobyte@angband.pl>

    commit 334bb773876403eae3457d81be0b8ea70f8e4ccc upstream.

    Commit 4efca4ed ("kbuild: modversions for EXPORT_SYMBOL() for asm") adds
    modversion support for symbols exported from asm files. Architectures
    must include C-style declarations for those symbols in asm/asm-prototypes.h
    in order for them to be versioned.

    Add these declarations for x86, and an architecture-independent file that
    can be used for common symbols.

    With f27c2f6 reverting 8ab2ae6 ("default exported asm symbols to zero") we
    produce a scary warning on x86, this commit fixes that.

    Signed-off-by: Adam Borowski <kilobyte@angband.pl>
    Tested-by: Kalle Valo <kvalo@codeaurora.org>
    Acked-by: Nicholas Piggin <npiggin@gmail.com>
    Tested-by: Peter Wu <peter@lekensteyn.nl>
    Tested-by: Oliver Hartkopp <socketcan@hartkopp.net>
    Signed-off-by: Michal Marek <mmarek@suse.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    arch/x86/include/asm/asm-prototypes.h | 16 ++++++++++++++++
    include/asm-generic/asm-prototypes.h | 7 +++++++
    2 files changed, 23 insertions(+)

    --- /dev/null
    +++ b/arch/x86/include/asm/asm-prototypes.h
    @@ -0,0 +1,16 @@
    +#include <asm/ftrace.h>
    +#include <asm/uaccess.h>
    +#include <asm/string.h>
    +#include <asm/page.h>
    +#include <asm/checksum.h>
    +
    +#include <asm-generic/asm-prototypes.h>
    +
    +#include <asm/page.h>
    +#include <asm/pgtable.h>
    +#include <asm/special_insns.h>
    +#include <asm/preempt.h>
    +
    +#ifndef CONFIG_X86_CMPXCHG64
    +extern void cmpxchg8b_emu(void);
    +#endif
    --- /dev/null
    +++ b/include/asm-generic/asm-prototypes.h
    @@ -0,0 +1,7 @@
    +#include <linux/bitops.h>
    +extern void *__memset(void *, int, __kernel_size_t);
    +extern void *__memcpy(void *, const void *, __kernel_size_t);
    +extern void *__memmove(void *, const void *, __kernel_size_t);
    +extern void *memset(void *, int, __kernel_size_t);
    +extern void *memcpy(void *, const void *, __kernel_size_t);
    +extern void *memmove(void *, const void *, __kernel_size_t);

    \
     
     \ /
      Last update: 2017-01-04 21:17    [W:4.057 / U:0.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site