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,
Cambridge, MA 02139, USA. */
#include <errnos.h>
.globl 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__
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
#else
movel d0, _errno
#ifdef EWOULDBLOCK_sys
cmpl d0, #EWOULDBLOCK_sys
bne 0f
moveq #EAGAIN, d0
#endif
0: movel d0, _errno
moveq #-1, d0
#endif
rts