diff options
author | Brian Gerst <brgerst@gmail.com> | 2009-01-26 08:44:05 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-26 09:18:10 -0500 |
commit | 5a611268b69f05262936dd177205acbce4471358 (patch) | |
tree | 279e49c5b3f597790817959c63070ff989d51952 /include/asm-generic/vmlinux.lds.h | |
parent | 99d0000f710f3432182761f65f9658f1cf0bf455 (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.h | 7 |
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 |