Formerly unix/bsd/m68k/sysdep.S.~3~

This commit is contained in:
Roland McGrath 1993-10-28 21:47:12 +00:00
parent 0e28fe44c7
commit 635f87a43a
1 changed files with 17 additions and 2 deletions

View File

@ -16,13 +16,28 @@ License along with the GNU C Library; see the file COPYING.LIB. If
not, write to the Free Software Foundation, Inc., 675 Mass Ave, not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */ Cambridge, MA 02139, USA. */
#include <errnos.h>
.globl syscall_error .globl syscall_error
syscall_error: syscall_error:
/* We translate the system's EWOULDBLOCK error into EAGAIN.
The GNU C library always defines EWOULDBLOCK==EAGAIN.
EWOULDBLOCK_sys is the original number. */
#ifdef __motorola__ #ifdef __motorola__
move.l d0, _errno #ifdef EWOULDBLOCK_sys
cmp.l d0, #EWOULDBLOCK_sys
bne store
moveq.l #EAGAIN, d0
#endif
store: move.l d0, _errno
moveq.l #-1, d0 moveq.l #-1, d0
#else #else
movel d0, _errno #ifdef EWOULDBLOCK_sys
cmpl d0, #EWOULDBLOCK_sys
bne 0f
moveq #EAGAIN, d0
#endif
0: movel d0, _errno
moveq #-1, d0 moveq #-1, d0
#endif #endif
rts rts