summaryrefslogtreecommitdiff
path: root/ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2014-02-10 20:05:01 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2014-02-10 20:22:40 +0100
commit73588a7223bec40d652fd4c75f1cb4772c5d2612 (patch)
treedfc1f1965e78e62e611199d91c482d1b76ff109d /ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S
parent87569616d27a2c742f87b5dbcac2f2e3437fd874 (diff)
Move m68k from ports to libc
Diffstat (limited to 'ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S')
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S63
1 files changed, 0 insertions, 63 deletions
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S b/ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S
deleted file mode 100644
index d383f95cc0..0000000000
--- a/ports/sysdeps/unix/sysv/linux/m68k/m680x0/getcontext.S
+++ /dev/null
@@ -1,63 +0,0 @@
-/* Save current context.
- Copyright (C) 2012-2014 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with the GNU C Library; if not, see
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-#include "ucontext_i.h"
-
-
-ENTRY(__getcontext)
- /* Load address of the context data structure. */
- move.l 4(%sp), %a0
-
- /* Save the preserved registers and the return address. */
- movem.l %d2-%d7, oGREGS+2*4(%a0)
- movem.l %a2-%a6, oGREGS+10*4(%a0)
- lea 4(%sp), %a1
- move.l %a1, oSP(%a0)
- move.l (%sp), oPC(%a0)
- fmovem.l %fpsr/%fpcr/%fpiar, oFPREGS(%a0)
- fmovem.x %fp2-%fp7, oFP2(%a0)
- cfi_def_cfa (%a0, 0)
- cfi_offset (%d2, oGREGS+2*4)
- cfi_offset (%d3, oGREGS+3*4)
- cfi_offset (%pc, oPC)
-
- /* Save the current signal mask. */
- lea oSIGMASK(%a0), %a1
- move.l %a1, %d3
- clr.l %d2
- move.l #SIG_SETMASK, %d1
- move.l #__NR_sigprocmask, %d0
- trap #0
- /* Restore registers. */
- move.l oGREGS+2*4(%a0), %d2
- cfi_restore (%d2)
- move.l oGREGS+3*4(%a0), %d3
- cfi_restore (%d3)
- cfi_def_cfa (%sp, 4)
- cfi_offset (%pc, -4)
- cmp.l #-4095, %d0 /* Check %d0 for error. */
- jcc SYSCALL_ERROR_LABEL /* Jump to error handler. */
-
-0: /* All done, return 0 for success. */
- clr.l %d0
- rts
-PSEUDO_END(__getcontext)
-
-weak_alias (__getcontext, getcontext)