Drop "default exported asm symbols to zero"
This caused *all* symbol version CRCs to be zero in modules on amd64.
This commit is contained in:
parent
2431e89ed3
commit
34594185e1
|
@ -17,7 +17,6 @@ linux (4.9~rc7-1~exp1) UNRELEASED; urgency=medium
|
|||
- [powerpc] Remove Mac-on-Linux hooks
|
||||
- [powerpc*] Fix missing CRCs, add yet more asm-prototypes.h declarations
|
||||
- Re-enable CONFIG_MODVERSIONS in a slightly weaker form
|
||||
- default exported asm symbols to zero
|
||||
- module: Disable matching missing version CRC
|
||||
* debian/bin/buildcheck.py: Add check for symbols with version CRC of 0
|
||||
|
||||
|
|
|
@ -1,32 +0,0 @@
|
|||
From: Arnd Bergmann <arnd@arndb.de>
|
||||
Date: Fri, 02 Dec 2016 13:40:27 +0100
|
||||
Subject: default exported asm symbols to zero
|
||||
Origin: https://lkml.kernel.org/r/8452191.39CeLIHTBT@wuerfel
|
||||
|
||||
With binutils-2.16 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.17, 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: Arnd Bergmann <arnd@arndb.de>
|
||||
---
|
||||
--- a/include/asm-generic/export.h
|
||||
+++ b/include/asm-generic/export.h
|
||||
@@ -54,6 +54,7 @@ KSYM(__kstrtab_\name):
|
||||
KSYM(__kcrctab_\name):
|
||||
__put KSYM(__crc_\name)
|
||||
.weak KSYM(__crc_\name)
|
||||
+ .set KSYM(__crc_\name), 0
|
||||
.previous
|
||||
#endif
|
||||
#endif
|
|
@ -103,7 +103,6 @@ bugfix/x86/x86-kbuild-enable-modversions-for-symbols-exported-f.patch
|
|||
bugfix/powerpc/powerpc-remove-mac-on-linux-hooks.patch
|
||||
bugfix/powerpc/powerpc-fix-missing-crcs-add-yet-more-asm-prototypes.patch
|
||||
bugfix/all/re-enable-config_modversions-in-a-slightly-weaker-fo.patch
|
||||
bugfix/all/default-exported-asm-symbols-to-zero.patch
|
||||
bugfix/all/module-disable-matching-missing-version-crc.patch
|
||||
|
||||
# ABI maintenance
|
||||
|
|
Loading…
Reference in New Issue