]> git.baikalelectronics.ru Git - kernel.git/commit
[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)
commit463884ae729da5764cc1c8c39690f036855c8214
tree494c5212f096642d815f62472325235b5abecf35
parent3f85b46d7e6c20d8a434ffa02ee5fc36495d691c
[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