• Arnd Bergmann's avatar
    default exported asm symbols to zero · 8ab2ae65
    Arnd Bergmann authored
    With binutils-2.26 and before, a weak missing symbol was kept during the
    final link, and a missing CRC for an export would lead to that CRC being
    treated as zero implicitly.  With binutils-2.27, the crc symbol gets
    dropped, and any module trying to use it will fail to load.
    
    This sets the weak CRC symbol to zero explicitly, making it defined in
    vmlinux, which in turn lets us load the modules referring to that CRC.
    
    The comment above the __CRC_SYMBOL macro suggests that this was always
    the intention, although it also seems that all symbols defined in C have
    a correct CRC these days, and only the exports that are now done in
    assembly need this.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Tested-by: default avatarAdam Borowski <kilobyte@angband.pl>
    Cc: stable@kernel.org
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    8ab2ae65
export.h 2.2 KB