android_kernel_motorola_sm6375/include/asm-generic
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Tejun Heo 3ac6cffea4 linker script: use separate simpler definition for PERCPU()
Impact: fix linker screwup on x86_32

Recent x86_64 zerobased patches introduced PERCPU_VADDR() to put
.data.percpu to a predefined address and re-defined PERCPU() in terms
of it.  The new macro defined one extra symbol, __per_cpu_load, for
LMA of the section so that the init data could be accessed.  This new
symbol introduced the following problems to x86_32.

1. If __per_cpu_load is defined outside of .data.percpu as an absolute
   symbol, relocation generation for relocatable kernel fails due to
   absolute relocation.

2. If __per_cpu_load is put inside .data.percpu with absolute address
   assignment to work around #1, linker gets confused and under
   certain configurations ends up relocating the symbol against
   .data.percpu such that the load address gets added on top of
   already set load address.

As x86_32 doesn't use predefined address for .data.percpu, there's no
need for it to care about the possibility of __per_cpu_load being
different from __per_cpu_start.

This patch defines PERCPU() separately so that __per_cpu_load is
defined inside .data.percpu so that everything is ordinary
linking-wise.

Signed-off-by: Tejun Heo <tj@kernel.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2009-01-30 23:27:46 +01:00
..
bitops
4level-fixup.h
atomic.h
audit_change_attr.h
audit_dir_write.h
audit_read.h
audit_signal.h
audit_write.h
bitops.h
bug.h
cmpxchg-local.h
cmpxchg.h
cputime.h
device.h
div64.h
dma-coherent.h
dma-mapping-broken.h
dma-mapping.h
emergency-restart.h
errno-base.h
errno.h
fcntl.h
futex.h
gpio.h
ide_iops.h
int-l64.h
int-ll64.h
ioctl.h
iomap.h
irq_regs.h
Kbuild
Kbuild.asm
kdebug.h
libata-portmap.h
local.h
memory_model.h
mm_hooks.h
mman.h
mutex-dec.h
mutex-null.h
mutex-xchg.h
page.h
pci-dma-compat.h
pci.h
percpu.h
pgtable-nopmd.h
pgtable-nopud.h
pgtable.h
poll.h
resource.h
rtc.h
sections.h
siginfo.h
signal.h
statfs.h
syscall.h
termios.h
tlb.h
topology.h
uaccess.h
vmlinux.lds.h linker script: use separate simpler definition for PERCPU() 2009-01-30 23:27:46 +01:00
xor.h