summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/m68k/sysdep.h
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k/sysdep.h')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/sysdep.h10
1 files changed, 6 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/sysdep.h b/sysdeps/unix/sysv/linux/m68k/sysdep.h
index 9cddd20552..3366caab45 100644
--- a/sysdeps/unix/sysv/linux/m68k/sysdep.h
+++ b/sysdeps/unix/sysv/linux/m68k/sysdep.h
@@ -41,6 +41,9 @@ Cambridge, MA 02139, USA. */
C_LABEL(name) \
CALL_MCOUNT
+#undef END
+#define END(name) .size name, . - name
+
/* If compiled for profiling, call `_mcount' at the start of each function. */
#ifdef PROF
/* The mcount code relies on a normal frame pointer being on the stack
@@ -76,7 +79,6 @@ Cambridge, MA 02139, USA. */
error values. */
#define PSEUDO(name, syscall_name, args) \
.text; \
- SYSCALL_ERROR_HANDLER \
ENTRY (name) \
DO_CALL (&SYS_ify (syscall_name), args); \
moveq.l &-128, %d1; \
@@ -84,13 +86,14 @@ Cambridge, MA 02139, USA. */
jcc syscall_error
#undef PSEUDO_END
-#define PSEUDO_END(name) .size name, . - name
+#define PSEUDO_END(name) \
+ SYSCALL_ERROR_HANDLER; \
+ END (name)
#ifdef PIC
/* Store (- %d0) into errno through the GOT. */
#ifdef _LIBC_REENTRANT
#define SYSCALL_ERROR_HANDLER \
- .type syscall_error, @function; \
syscall_error: \
move.l (errno@GOTPC, %pc), %a0; \
neg.l %d0; \
@@ -105,7 +108,6 @@ syscall_error: \
rts;
#else
#define SYSCALL_ERROR_HANDLER \
- .type syscall_error, @function; \
syscall_error: \
move.l (errno@GOTPC, %pc), %a0; \
neg.l %d0; \