linux/arch/x86
Shaohua Li 86b1e8dd83 x86: Make relocatable kernel work with new binutils
The CONFIG_RELOCATABLE=y option is broken with new binutils, which will make
boot panic.

According to Lu Hongjiu, the affected binutils are from 2.20.51.0.12 to
2.21.51.0.3, which are release since Oct 22 this year. At least ubuntu 10.10 is
using such binutils. See:

    http://sourceware.org/bugzilla/show_bug.cgi?id=12327

The reason of the boot panic is that we have 'jiffies = jiffies_64;' in
vmlinux.lds.S. The jiffies isn't in any section. In kernel build, there is
warning saying jiffies is an absolute address and can't be relocatable. At
runtime, jiffies will have virtual address 0.

Signed-off-by: Shaohua Li<shaohua.li@intel.com>
Cc: Lu Hongjiu<hongjiu.lu@intel.com>
Cc: Huang Ying <ying.huang@intel.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
LKML-Reference: <1295312269.1949.725.camel@sli10-conroe>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-01-18 09:05:33 +01:00
..
boot Merge branch 'x86-cpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-01-06 10:56:02 -08:00
configs defconfig reduction 2010-08-14 22:26:53 +02:00
crypto crypto: ghash-intel - ghash-clmulni-intel_glue needs err.h 2010-12-15 19:44:08 +08:00
ia32 BKL: remove extraneous #include <smp_lock.h> 2010-11-17 08:59:32 -08:00
include/asm x86: Fix Moorestown VRTC fixmap placement 2011-01-11 12:46:16 +01:00
kernel x86: Make relocatable kernel work with new binutils 2011-01-18 09:05:33 +01:00
kvm KVM: i8259: initialize isr_ack 2011-01-02 11:52:48 +02:00
lguest x86, mm: Initialize initial_page_table before paravirt jumps 2011-01-04 09:53:50 +01:00
lib x86, mem: Optimize memmove for small size and unaligned cases 2010-09-24 18:57:11 -07:00
math-emu x86, fpu: Unbreak FPU emulation 2010-05-10 13:37:16 -07:00
mm Merge branch 'x86/numa' into x86/urgent 2011-01-10 09:36:07 +01:00
oprofile Merge branch 'x86-mce-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-01-06 11:05:21 -08:00
pci x86: Use PCI method for enabling AMD extended config space before MSR method 2011-01-11 12:43:41 +01:00
platform Merge branch 'linus' into x86/apic-cleanups 2011-01-07 14:14:15 +01:00
power x86, tsc, sched: Recompute cyc2ns_offset's during resume from sleep states 2010-08-20 14:59:02 +02:00
tools x86: Remove trailing spaces in messages 2010-02-07 17:47:51 +01:00
vdso x86, gcc-4.6: Use gcc -m options when building vdso 2010-12-13 16:08:37 -08:00
video
xen Merge branches 'x86-fixes-for-linus', 'perf-fixes-for-linus' and 'sched-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-12-08 06:40:59 -08:00
.gitignore add random binaries to .gitignore 2010-04-08 11:34:34 +02:00
Kbuild x86: Add platform directory 2010-10-27 14:30:01 +02:00
Kconfig x86, olpc: Add missing Kconfig dependencies 2011-01-14 11:57:06 -08:00
Kconfig.cpu Merge branch 'x86-fpu-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-05-18 08:58:16 -07:00
Kconfig.debug x86: Add RO/NX protection for loadable kernel modules 2010-11-18 13:32:56 +01:00
Makefile Merge branch 'x86-asm-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2010-10-21 13:06:00 -07:00
Makefile_32.cpu jump label: Add work around to i386 gcc asm goto bug 2010-10-29 14:45:29 -04:00