[PARISC] Fix PCREL22F relocation problem for most modules
authorJames Bottomley <jejb@parisc-linux.org>
Fri, 23 Jun 2006 20:15:20 +0000 (14:15 -0600)
committerKyle McMartin <kyle@hera.kernel.org>
Tue, 27 Jun 2006 23:28:44 +0000 (23:28 +0000)
commit6e1b9585aaae2fa4f9590f363b32c5d3b6339ba6
treeda55d4de827dd63998fcc8b6abd154dea0db0dde
parent1c63b4b8474700f3fb5e3442a78897766f153437
[PARISC] Fix PCREL22F relocation problem for most modules

The new problem, which has been affecting many more modules was that
our new ioremap really takes chunks out of our vmalloc space.  The net
result being that any two kernel vmalloc's now have to slot into the
chunked up space.  So the vmallocs for a modules init and core sectons
are no longer necessarily contiguous.  Unfortunately, the module loader
thinks that any internal symbol references should be satisfiable using the
jump instruction, which isn't true if the symbol is referenced from init
to core and vmalloc placed them a long way apart.

Fix this by introducing a new stub type for intra module inter sectional
jumps and using it.

Signed-off-by: James Bottomley <jejb@parisc-linux.org>
Signed-off-by: Kyle McMartin <kyle@parisc-linux.org>
arch/parisc/kernel/module.c