1
linux/arch
Tejun Heo 46176b4f6b x86, relocs: ignore R_386_NONE in kernel relocation entries
For relocatable 32bit kernels, boot/compressed/relocs.c processes
relocation entries in the kernel image and appends it to the kernel
image such that boot/compressed/head_32.S can relocate the kernel.
The kernel image is one statically linked object and only uses two
relocation types - R_386_PC32 and R_386_32, of the two only the latter
needs massaging during kernel relocation and thus handled by relocs.
R_386_PC32 is ignored and all other relocation types are considered
error.

When the target of a relocation resides in a discarded section,
binutils doesn't throw away the relocation record but nullifies it by
changing it to R_386_NONE, which unfortunately makes relocs fail.

The problem was triggered by yet out-of-tree x86 stack unwind patches
but given the binutils behavior, ignoring R_386_NONE is the right
thing to do.

The problem has been tracked down to binutils behavior by Jan Beulich.

[ Impact: fix build with certain binutils by ignoring R_386_NONE ]

Signed-off-by: Tejun Heo <tj@kernel.org>
Cc: Jan Beulich <JBeulich@novell.com>
Cc: Ingo Molnar <mingo@elte.hu>
LKML-Reference: <4A1B8150.40702@kernel.org>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
2009-05-25 22:52:49 -07:00
..
alpha alpha: unbreak percpu again 2009-05-12 14:11:35 -07:00
arm Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6 2009-05-15 08:06:56 -07:00
avr32 avr32: drop unused CLEAN_FILES 2009-05-01 10:54:00 +02:00
blackfin clocksource: pass clocksource to read() callback 2009-04-21 13:41:47 -07:00
cris CRISv32: Fix typo compile error in ARTPEC-3 gpio driver. 2009-04-28 19:08:10 +02:00
frv FRV: Use __INIT macro instead of .text.init. 2009-04-27 19:46:30 -07:00
h8300 Get rid of final remnants of include/asm-$(ARCH) 2009-04-17 09:59:27 -07:00
ia64 [IA64] xen_domu_defconfig: fix build issues/warnings 2009-05-05 11:43:13 -07:00
m32r m32r: use __stringify() macro in assembler.h 2009-05-02 22:38:21 +09:00
m68k m68k: arch/m68k/kernel/sun3-head.S needs <linux/init.h> 2009-04-28 16:07:18 -07:00
m68knommu Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu 2009-04-24 08:45:53 -07:00
microblaze microblaze: Fix kind-of-intr checking against number of interrupts 2009-05-18 14:47:42 +02:00
mips MIPS: Sibyte: Fix locking in set_irq_affinity 2009-05-14 13:50:30 +01:00
mn10300 mn10300: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:38 -07:00
parisc
powerpc powerpc: Explicit alignment for .data.cacheline_aligned 2009-05-18 15:19:05 +10:00
s390 s390: convert to use __HEAD and HEAD_TEXT macros. 2009-04-26 09:20:39 -07:00
sh sh: Use __INIT macro instead of .text.init. 2009-04-27 19:51:58 -07:00
sparc sparc: cleanup references to deprecated .text.init* sections. 2009-04-27 19:51:58 -07:00
um uml: kill a kconfig warning 2009-04-21 13:41:50 -07:00
x86 x86, relocs: ignore R_386_NONE in kernel relocation entries 2009-05-25 22:52:49 -07:00
xtensa xtensa: Fix linker script to include .literal sections 2009-05-11 23:40:33 -07:00
.gitignore
Kconfig