David Howells
9b8de7479d
FRV: Fix the section attribute on UP DECLARE_PER_CPU()
...
In non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()
does not agree with that specified by DEFINE_PER_CPU(). This means that
architectures that have a small data section references relative to a base
register may throw up linkage errors due to too great a displacement between
where the base register points and the per-CPU variable.
On FRV, the .h declaration says that the variable is in the .sdata section, but
the .c definition says it's actually in the .data section. The linker throws
up the following errors:
kernel/built-in.o: In function `release_task':
kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
To fix this, DECLARE_PER_CPU() should simply apply the same section attribute
as does DEFINE_PER_CPU(). However, this is made slightly more complex by
virtue of the fact that there are several variants on DEFINE, so these need to
be matched by variants on DECLARE.
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-04-21 19:39:59 -07:00
..
8253pit.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
a.out-core.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
a.out.h
alpha: introduce field 'taso' into struct linux_binprm
2008-10-16 11:21:38 -07:00
agp.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
agp_backend.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
atomic.h
atomic_t: unify all arch definitions
2009-01-06 15:59:10 -08:00
auxvec.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
barrier.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
bitops.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
bug.h
alpha: fixup BUG macro
2009-02-05 12:56:49 -08:00
bugs.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
byteorder.h
byteorder: make swab.h include asm/swab.h like a regular header
2009-01-14 19:56:50 -08:00
cache.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
cacheflush.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
checksum.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
compiler.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
console.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_apecs.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_cia.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_irongate.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_lca.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_marvel.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_mcpcia.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_polaris.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_t2.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_titan.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_tsunami.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
core_wildfire.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
cputime.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
current.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
delay.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
device.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
div64.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
dma-mapping.h
alpha: compile fixes
2009-01-29 18:04:44 -08:00
dma.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
elf.h
[PATCH] remove unused ibcs2/PER_SVR4 in SET_PERSONALITY
2008-10-16 15:40:05 +02:00
emergency-restart.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
err_common.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
err_ev6.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
err_ev7.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
errno.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
fb.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
fcntl.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
floppy.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
fpu.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ftrace.h
tracing: make CALLER_ADDRx overwriteable
2009-03-02 16:49:37 -05:00
futex.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
gct.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
gentrap.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
hardirq.h
preempt-count: force hardirq-count to max of 10
2009-02-12 11:19:05 -05:00
hw_irq.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
hwrpb.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
io.h
alpha: remove dead BIO_VMERGE_BOUNDARY
2008-12-29 08:29:51 +01:00
io_trivial.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ioctl.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ioctls.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ipcbuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
irq.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
irq_regs.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
jensen.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
Kbuild
byteorder: make swab.h include asm/swab.h like a regular header
2009-01-14 19:56:50 -08:00
kdebug.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
kmap_types.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
linkage.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
local.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
machvec.h
alpha: convert u64 to unsigned long long
2009-04-01 08:59:16 -07:00
mc146818rtc.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
md.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mman.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mmu.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mmu_context.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mmzone.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
module.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
msgbuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
mutex.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
page.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
pal.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
param.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
parport.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
pci.h
PCI/alpha: pci sysfs resources
2009-03-19 19:29:36 -07:00
percpu.h
FRV: Fix the section attribute on UP DECLARE_PER_CPU()
2009-04-21 19:39:59 -07:00
pgalloc.h
alpha: make pte_alloc_one_kernel() inline
2009-01-15 16:39:40 -08:00
pgtable.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
poll.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
posix_types.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
processor.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
ptrace.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
reg.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
regdef.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
resource.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
rtc.h
alpha: fix RTC on marvel
2009-01-15 16:39:40 -08:00
rwsem.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
scatterlist.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sections.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
segment.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sembuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
serial.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
setup.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sfp-machine.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
shmbuf.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
shmparam.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
sigcontext.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
siginfo.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
signal.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
smp.h
cpumask: centralize cpu_online_map and cpu_possible_map
2008-12-13 21:19:41 +10:30
socket.h
net: new user space API for time stamping of incoming and outgoing packets
2009-02-15 22:43:33 -08:00
sockios.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
spinlock.h
Allow rwlocks to re-enable interrupts
2009-04-02 19:05:11 -07:00
spinlock_types.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
stat.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
statfs.h
headers_check fix: alpha, statfs.h
2009-02-01 11:01:22 +05:30
string.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
suspend.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
swab.h
headers_check fix: alpha, swab.h
2009-02-01 11:01:22 +05:30
sysinfo.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
system.h
alpha: xchg/cmpxchg cleanup and fixes
2009-04-01 08:59:16 -07:00
termbits.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
termios.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
thread_info.h
container freezer: add TIF_FREEZE flag to all architectures
2008-10-20 08:52:33 -07:00
timex.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
tlb.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
tlbflush.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
topology.h
cpumask: alpha: Introduce cpumask_of_{node,pcibus} to replace {node,pcibus}_to_cpumask
2008-12-26 22:23:41 +10:30
types.h
alpha: convert u64 to unsigned long long
2009-04-01 08:59:16 -07:00
uaccess.h
alpha: fix macros
2009-04-01 08:59:15 -07:00
ucontext.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
unaligned.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
unistd.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
user.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
vga.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00
xchg.h
alpha: xchg/cmpxchg cleanup and fixes
2009-04-01 08:59:16 -07:00
xor.h
alpha: move include/asm-alpha to arch/alpha/include/asm
2008-08-15 09:19:40 -07:00