cerror.S revision 1.5
11.5Skleink/* $NetBSD: cerror.S,v 1.5 2000/01/27 14:58:48 kleink Exp $ */ 21.1Sthorpej 31.1Sthorpej#include <machine/asm.h> 41.1Sthorpej#include "SYS.h" 51.1Sthorpej 61.5Skleink#ifndef _REENTRANT 71.5Skleink .globl _C_LABEL(errno) 81.5Skleink#endif 91.1Sthorpej 101.4SkleinkENTRY(__cerror) 111.5Skleink#ifdef _REENTRANT 121.5Skleink mflr 0 131.5Skleink stwu 1,-16(1) # allocate new stack frame 141.5Skleink stw 0,20(1) 151.5Skleink stw 31,8(1) 161.5Skleink mr 31,3 # stash away in callee-saved register 171.5Skleink bl PIC_PLT(_C_LABEL(__errno)) 181.5Skleink stw 31,0(3) 191.5Skleink lwz 0,20(1) 201.5Skleink lwz 31,8(1) 211.5Skleink mtlr 0 221.5Skleink la 1,16(1) 231.5Skleink#else 241.1Sthorpej#ifdef PIC 251.3Stsubai mflr 10 261.3Stsubai bl _GLOBAL_OFFSET_TABLE_@local-4 271.3Stsubai mflr 4 281.3Stsubai lwz 4,_C_LABEL(errno)@got(4) 291.3Stsubai stw 3,0(4) 301.3Stsubai mtlr 10 311.1Sthorpej#else 321.1Sthorpej lis 4,_C_LABEL(errno)@ha 331.1Sthorpej stw 3,_C_LABEL(errno)@l(4) 341.5Skleink#endif /* PIC */ 351.5Skleink#endif /* _REENTRANT */ 361.1Sthorpej li 3,-1 371.1Sthorpej li 4,-1 381.1Sthorpej blr 39