aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-generic/vmlinux.lds.h
diff options
context:
space:
mode:
authorBrian Gerst <brgerst@gmail.com>2009-01-26 08:44:05 -0500
committerIngo Molnar <mingo@elte.hu>2009-01-26 09:18:10 -0500
commit5a611268b69f05262936dd177205acbce4471358 (patch)
tree279e49c5b3f597790817959c63070ff989d51952 /include/asm-generic/vmlinux.lds.h
parent99d0000f710f3432182761f65f9658f1cf0bf455 (diff)
generic, x86: fix __per_cpu_load relocation
This patch fixes this linker error: WARNING: Absolute relocations present Offset Info Type Sym.Value Sym.Name c0a4e07d 00e78001 R_386_32 c0ab0000 __per_cpu_load Now, __per_cpu_load is a section-relative symbol: c0aa4000 D __per_cpu_load c0aa4000 A __per_cpu_load_abs Signed-off-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-generic/vmlinux.lds.h')
-rw-r--r--include/asm-generic/vmlinux.lds.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/include/asm-generic/vmlinux.lds.h b/include/asm-generic/vmlinux.lds.h
index 53e21f36a802..f3180a85c66a 100644
--- a/include/asm-generic/vmlinux.lds.h
+++ b/include/asm-generic/vmlinux.lds.h
@@ -451,17 +451,18 @@
451 * end offset. 451 * end offset.
452 */ 452 */
453#define PERCPU_VADDR(vaddr, phdr) \ 453#define PERCPU_VADDR(vaddr, phdr) \
454 VMLINUX_SYMBOL(__per_cpu_load) = .; \ 454 VMLINUX_SYMBOL(__per_cpu_load_abs) = .; \
455 .data.percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load) \ 455 .data.percpu vaddr : AT(VMLINUX_SYMBOL(__per_cpu_load_abs) \
456 - LOAD_OFFSET) { \ 456 - LOAD_OFFSET) { \
457 VMLINUX_SYMBOL(__per_cpu_start) = .; \ 457 VMLINUX_SYMBOL(__per_cpu_start) = .; \
458 VMLINUX_SYMBOL(__per_cpu_load) = LOADADDR(.data.percpu) + LOAD_OFFSET;\
458 *(.data.percpu.first) \ 459 *(.data.percpu.first) \
459 *(.data.percpu.page_aligned) \ 460 *(.data.percpu.page_aligned) \
460 *(.data.percpu) \ 461 *(.data.percpu) \
461 *(.data.percpu.shared_aligned) \ 462 *(.data.percpu.shared_aligned) \
462 VMLINUX_SYMBOL(__per_cpu_end) = .; \ 463 VMLINUX_SYMBOL(__per_cpu_end) = .; \
463 } phdr \ 464 } phdr \
464 . = VMLINUX_SYMBOL(__per_cpu_load) + SIZEOF(.data.percpu); 465 . = VMLINUX_SYMBOL(__per_cpu_load_abs) + SIZEOF(.data.percpu);
465 466
466/** 467/**
467 * PERCPU - define output section for percpu area, simple version 468 * PERCPU - define output section for percpu area, simple version