Rewrite to avoid the use of $at. Unfortunately binutils 2.15 and CVS
authorRalf Baechle <ralf@linux-mips.org>
Sun, 13 Feb 2005 00:32:43 +0000 (00:32 +0000)
committerRalf Baechle <ralf@linux-mips.org>
Sat, 29 Oct 2005 18:30:32 +0000 (19:30 +0100)
binutils are broken and don't warn about this use of $at even though
gas is in .set noat mode so this for now is an accident waiting to
happen.

Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
include/asm-mips/stackframe.h

index 7b5e646..e33e302 100644 (file)
                MFC0    k1, CP0_CONTEXT
                dsrl    k1, 23
                dsll    k1, k1, 3
-               LONG_L  k1, kernelsp(k1)
+               lui     k0, %highest(kernelsp)
+               daddiu  k0, %higher(kernelsp)
+               dsll    k0, k0, 16
+               daddiu  k0, %hi(kernelsp)
+               daddu   k1, k1, k0
+               LONG_L  k1, %lo(kernelsp)(k1)
 #endif
                .endm