[SPARC64]: Fix linkage of enormous kernels.
authorDavid S. Miller <davem@sunset.davemloft.net>
Wed, 31 Oct 2007 04:11:28 +0000 (21:11 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Wed, 31 Oct 2007 22:30:56 +0000 (15:30 -0700)
commit52eb053b7191f1d3017a56e921753e3097876c47
tree494c5212f096642d815f62472325235b5abecf35
parentd6898556e90ba9842e59ac9c2425b42ea33019b4
[SPARC64]: Fix linkage of enormous kernels.

This was found by make randconfig

If the kernel .text is very large, the .fixup section branches
are too far away to be relocated correctly.

Use "sethi %hi(label), reg; jmpl reg + %lo(label); %g0" sequence
instead of the branch to fix this.

There is another case in switch_to() involving a branch, which
is fixed similarly.

Signed-off-by: David S. Miller <davem@davemloft.net>
include/asm-sparc64/futex.h
include/asm-sparc64/system.h
include/asm-sparc64/uaccess.h