summaryrefslogtreecommitdiffstats
path: root/arch/x86/boot/compressed/relocs.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-05-29 05:54:52 +0200
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-05-29 05:54:52 +0200
commit435462c6e639065460e91903d6bd2af0f5762fde (patch)
treebf66ccdd613019035ebab535762366aa1026399b /arch/x86/boot/compressed/relocs.c
parentpowerpc/pci: clean up direct access to sysdata by iseries platform (diff)
parentMerge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/vap... (diff)
downloadlinux-435462c6e639065460e91903d6bd2af0f5762fde.tar.xz
linux-435462c6e639065460e91903d6bd2af0f5762fde.zip
Merge branch 'merge' into next
Diffstat (limited to 'arch/x86/boot/compressed/relocs.c')
-rw-r--r--arch/x86/boot/compressed/relocs.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/x86/boot/compressed/relocs.c b/arch/x86/boot/compressed/relocs.c
index 857e492c571e..bbeb0c3fbd90 100644
--- a/arch/x86/boot/compressed/relocs.c
+++ b/arch/x86/boot/compressed/relocs.c
@@ -504,8 +504,11 @@ static void walk_relocs(void (*visit)(Elf32_Rel *rel, Elf32_Sym *sym))
if (sym->st_shndx == SHN_ABS) {
continue;
}
- if (r_type == R_386_PC32) {
- /* PC relative relocations don't need to be adjusted */
+ if (r_type == R_386_NONE || r_type == R_386_PC32) {
+ /*
+ * NONE can be ignored and and PC relative
+ * relocations don't need to be adjusted.
+ */
}
else if (r_type == R_386_32) {
/* Visit relocations that need to be adjusted */