bsd-setjmp.S 550 B

123456789101112131415161718192021222324
  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. #include "m68k_pic.S"
  6. .globl setjmp;
  7. .type setjmp,@function
  8. .align 4;
  9. setjmp:
  10. moveal %sp@(4), %a0
  11. movel %sp@(0), %a0@(JB_PC)
  12. moveml %d2-%d7/%a2-%a7, %a0@(JB_REGS)
  13. #if defined(__mcffpu__) && defined(__UCLIBC_HAS_FPU__)
  14. fmovemd %fp2-%fp7, %a0@(JB_FPREGS)
  15. #elif defined(__HAVE_68881__)
  16. fmovemx %fp2-%fp7, %a0@(JB_FPREGS)
  17. #endif
  18. clrl %d0
  19. JUMP __sigjmp_save,%a0