summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/m68k/sysdep.S
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@suse.de>1998-03-06 01:48:50 +0000
committerAndreas Schwab <schwab@suse.de>1998-03-06 01:48:50 +0000
commit9f2990dbbf39786d7396caf65006093fc4f52b2e (patch)
tree9e37069038c0fbda2529658a564bf67c7fa26cdb /sysdeps/unix/sysv/linux/m68k/sysdep.S
parentb5efde2fd3c061e546b0012e7cf6d6f8e74c6960 (diff)
* sysdeps/m68k/add_n.S: Use ENTRY and END macros.
* sysdeps/m68k/lshift.S: Likewise. * sysdeps/m68k/rshift.S: Likewise. * sysdeps/m68k/sub_n.S: Likewise. * sysdeps/m68k/m68020/addmul_1.S: Likewise. * sysdeps/m68k/m68020/mul_1.S: Likewise. * sysdeps/m68k/m68020/submul_1.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Use ENTRY macro. [_LIBC_REENTRANT]: Don't store into global errno. * sysdeps/m68k/sysdep.h: New file. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Use it. Use the macros ENTRY, CALL_MCOUNT, JUMPTARGET and syscall_error from there. (DO_CALL): Change to expect syscall name as argument. (PSEUDO): Pass syscall_name to DO_CALL. (SYSCALL_ERROR_HANDLER) [_LIBC_REENTRANT]: Don't store into global errno. Fri Mar 6 10:40:30 1998 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/m68k/add_n.S: Use ENTRY and END macros. * sysdeps/m68k/lshift.S: Likewise. * sysdeps/m68k/rshift.S: Likewise. * sysdeps/m68k/sub_n.S: Likewise. * sysdeps/m68k/m68020/addmul_1.S: Likewise. * sysdeps/m68k/m68020/mul_1.S: Likewise. * sysdeps/m68k/m68020/submul_1.S: Likewise. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Use ENTRY macro. [_LIBC_REENTRANT]: Don't store into global errno. * sysdeps/m68k/sysdep.h: New file. * sysdeps/unix/sysv/linux/m68k/sysdep.h: Use it. Use the macros ENTRY, CALL_MCOUNT, JUMPTARGET and syscall_error from there. (DO_CALL): Change to expect syscall name as argument. (PSEUDO): Pass syscall_name to DO_CALL. (SYSCALL_ERROR_HANDLER) [_LIBC_REENTRANT]: Don't store into global errno.
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k/sysdep.S')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sysdep.S12
1 files changed, 7 insertions, 5 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.S b/sysdeps/unix/sysv/linux/m68k/sysdep.S
index 5533be2c1b..6008b23aa5 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.S
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.S
@@ -43,13 +43,15 @@ _errno = errno /* This name is expected by hj's libc.so.5 startup code. */
/* The syscall stubs jump here when they detect an error. */
- .globl __syscall_error
- .type __syscall_error, @function
- .align 4
-__syscall_error:
+#undef CALL_MCOUNT
+#define CALL_MCOUNT /* Don't insert the profiling call, it clobbers %d0. */
+
+ .text
+ENTRY (__syscall_error)
neg.l %d0
+#ifndef _LIBC_REENTRANT
move.l %d0, errno
-#ifdef _LIBC_REENTRANT
+#else
move.l %d0, -(%sp)
jbsr __errno_location
move.l (%sp)+, (%a0)