linux/arch/parisc
Helge Deller c298be7449 parisc: fix module loading failure of large kernel modules
On 32bit (and sometimes 64bit) and with big kernel modules like xfs or
ipv6 the relocation types R_PARISC_PCREL17F and R_PARISC_PCREL22F may
fail to reach their PLT stub if we only create one big stub array for
all sections at the beginning of the core or init section.

With this patch we now instead add individual PLT stub entries
directly in front of the code sections where the stubs are actually
called. This reduces the distance between the PCREL location and the
stub entry so that the relocations can be fulfilled.

While calculating the final layout of the kernel module in memory, the
kernel module loader calls arch_mod_section_prepend() to request the
to be reserved amount of memory in front of each individual section.

Tested with 32- and 64bit kernels.

Signed-off-by: Helge Deller <deller@gmx.de>
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2009-01-05 08:40:14 +10:30
..
configs [PARISC] move defconfig to arch/parisc/configs/ 2008-03-15 19:12:08 -07:00
hpux [PATCH] prepare vfs_readdir() callers to returning filldir result 2008-10-23 05:13:10 -04:00
include/asm parisc: fix module loading failure of large kernel modules 2009-01-05 08:40:14 +10:30
kernel parisc: fix module loading failure of large kernel modules 2009-01-05 08:40:14 +10:30
lib Revert "parisc: fix trivial section name warnings" 2008-06-13 10:49:45 -04:00
math-emu kbuild: fix up CFLAGS usage 2007-10-14 21:49:42 +02:00
mm mm: drop unneeded pgdat argument from free_area_init_node() 2008-07-24 10:47:16 -07:00
oprofile oprofile: more whitespace fixes 2008-10-15 20:55:51 +02:00
defpalo.conf Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
install.sh Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00
Kconfig cpumask: centralize cpu_online_map and cpu_possible_map 2008-12-13 21:19:41 +10:30
Kconfig.debug alpha/parisc: remove config variable DEBUG_RWLOCK 2008-02-06 10:41:03 -08:00
Makefile [PARISC] move defconfig to arch/parisc/configs/ 2008-03-15 19:12:08 -07:00
nm Linux-2.6.12-rc2 2005-04-16 15:20:36 -07:00