aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/m68k/sysdep.S
diff options
context:
space:
mode:
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 5533be2..6008b23 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)