mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL] x86 - additional relocation fixes
@ 2012-05-24 20:32 H. Peter Anvin
  0 siblings, 0 replies; only message in thread
From: H. Peter Anvin @ 2012-05-24 20:32 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: stable, H. Peter Anvin, Ingo Molnar, Ingo Molnar,
	Linux Kernel Mailing List, Stephen Rothwell, Thomas Gleixner,
	Jarkko Sakkinen

Hi Linus,

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.

Greg: these builds are tagged for stable v3.4, but if the relocs.c
changes are backported then you will need these patches for the
backports as well.

The following changes since commit b2d668da9307c4c163dd603d2bb3cadb10f9fd37:

  x86, relocs: Build clean fix (2012-05-21 12:19:37 -0700)

are available in the git repository at:
  git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git x86-urgent-for-linus

The head of this tree is ea17e7414bc62e8d3bde8d08e3df1d921c518c17.

H. Peter Anvin (2):
      x86-32, relocs: Whitelist more symbols for ld bug workaround
      x86, relocs: Add jiffies and jiffies_64 to the relative whitelist

 arch/x86/tools/relocs.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

 arch/x86/tools/relocs.c |   12 ++++++++++++
 1 files changed, 12 insertions(+), 0 deletions(-)

diff --git a/arch/x86/tools/relocs.c b/arch/x86/tools/relocs.c
index b43cfcd..b685296 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)$"
 };
 

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2012-05-24 20:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-05-24 20:32 [GIT PULL] x86 - additional relocation fixes H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®