summaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2012-05-24 14:09:47 -0700
committerLinus Torvalds <torvalds@linux-foundation.org>2012-05-24 14:09:47 -0700
commitabe81e25f08abbac493754a043f7a91a1b3e0f93 (patch)
treee4b185c3964869620345ed346eb8643f92a7ab39 /arch/x86
parentb1bf7d4d1b3911352cf1ec63c1de06214288ccd0 (diff)
parentea17e7414bc62e8d3bde8d08e3df1d921c518c17 (diff)
Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull more relocation fixes from Peter Anvin: "These are additional symbols that have been found to either be absolute or look like they might end up being absolute on one version of GNU ld or another. Unfortunately we have since that a different GNU ld version, 2.21, can generate bogus absolute symbols; again, this would have caused a malfunctioning kernel on x86-32 if relocated. The relocs.c changes changed silent corruption to a build time error. It is worth noting that if the various barrier symbols we use were more consistent in the namespace used this probably could be reduced to a single regexp; if nothing else it looks like there is migration toward a common __(start|stop)___.* namespace." * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86, relocs: Add jiffies and jiffies_64 to the relative whitelist x86-32, relocs: Whitelist more symbols for ld bug workaround
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/tools/relocs.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index b43cfcd9bf40..b685296d4464 100644
--- a/arch/x86/tools/relocs.c
+++ b/arch/x86/tools/relocs.c
@@ -60,6 +60,18 @@ static const char * const sym_regex_kernel[S_NSYMTYPES] = {
"__x86_cpu_dev_(start|end)|"
"(__parainstructions|__alt_instructions)(|_end)|"
"(__iommu_table|__apicdrivers|__smp_locks)(|_end)|"
+ "__(start|end)_pci_.*|"
+ "__(start|end)_builtin_fw|"
+ "__(start|stop)___ksymtab(|_gpl|_unused|_unused_gpl|_gpl_future)|"
+ "__(start|stop)___kcrctab(|_gpl|_unused|_unused_gpl|_gpl_future)|"
+ "__(start|stop)___param|"
+ "__(start|stop)___modver|"
+ "__(start|stop)___bug_table|"
+ "__tracedata_(start|end)|"
+ "__(start|stop)_notes|"
+ "__end_rodata|"
+ "__initramfs_start|"
+ "(jiffies|jiffies_64)|"
"_end)$"
};