bsd-_setjmp.S 500 B

1234567891011121314151617181920212223
  1. /* Copyright (C) 2002, David McCullough <davidm@snapgear.com> */
  2. /* This file is released under the LGPL, any version you like */
  3. #include <features.h>
  4. #include <jmpbuf-offsets.h>
  5. .globl _setjmp;
  6. .type _setjmp,@function
  7. .align 4;
  8. _setjmp:
  9. moveal %sp@(4), %a0
  10. movel %sp@(0), %a0@(JB_PC)
  11. moveml %d2-%d7/%a2-%a7, %a0@(JB_REGS)
  12. #if defined __HAVE_68881__ || defined __UCLIBC_HAS_FPU__
  13. fmovemx %fp2-%fp7, %a0@(JB_FPREGS)
  14. #endif
  15. clrl %d0
  16. movl %d0, JB_SIZE(%a0) /* No signal mask set. */
  17. rts