Rewrite to avoid the use of $at. Unfortunately binutils 2.15 and CVS
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>
diff --git a/include/asm-mips/stackframe.h b/include/asm-mips/stackframe.h
index 7b5e646..e33e302 100644
--- a/include/asm-mips/stackframe.h
+++ b/include/asm-mips/stackframe.h
@@ -78,7 +78,12 @@
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