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:
Ben Hutchings 2016-12-03 01:45:17 +00:00
parent 2431e89ed3
commit 34594185e1
3 changed files with 0 additions and 34 deletions

1
debian/changelog vendored
View File

@ -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

View File

@ -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

View File

@ -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