ptrace.S revision 1.4
11.4Smatt/* $NetBSD: ptrace.S,v 1.4 2002/07/30 06:08:00 matt Exp $ */ 21.1Sthorpej 31.1Sthorpej#include "SYS.h" 41.1Sthorpej 51.3SkleinkENTRY(ptrace) 61.3Skleink#ifdef _REENTRANT 71.4Smatt mflr %r0 81.4Smatt stwu %r1,-32(%r1) 91.4Smatt stw %r0,36(%r1) 101.4Smatt stw %r3,8(%r1) 111.4Smatt stw %r4,12(%r1) 121.4Smatt stw %r5,16(%r1) 131.4Smatt stw %r6,20(%r1) 141.3Skleink 151.3Skleink bl PIC_PLT(_C_LABEL(__errno)) 161.4Smatt li %r7,0 171.4Smatt stw %r7,0(%r3) 181.3Skleink 191.4Smatt lwz %r3,8(%r1) 201.4Smatt lwz %r4,12(%r1) 211.4Smatt lwz %r5,16(%r1) 221.4Smatt lwz %r0,36(%r1) 231.4Smatt lwz %r6,20(%r1) 241.4Smatt mtlr %r0 251.4Smatt la %r1,32(%r1) 261.3Skleink#else 271.3Skleink#ifdef PIC 281.4Smatt mflr %r0 291.3Skleink bl _GLOBAL_OFFSET_TABLE_@local-4 301.4Smatt mflr %r7 311.4Smatt lwz %r7,_C_LABEL(errno)@got(%r7) 321.4Smatt li %r8,0 331.4Smatt stw %r8,0(%r7) 341.3Skleink mtlr 0 351.3Skleink#else 361.4Smatt lis %r7,_C_LABEL(errno)@ha 371.4Smatt li %r8,0 381.4Smatt stw %r8,_C_LABEL(errno)@l(%r7) 391.3Skleink#endif /* PIC */ 401.3Skleink#endif /* _REENTRANT */ 411.4Smatt li %r0,SYS_ptrace 421.3Skleink sc 431.3Skleink bso 1f 441.3Skleink blr 451.3Skleink1: 461.3Skleink b PIC_PLT(_C_LABEL(__cerror)) 47