blob: 6c9cf51cf6e08be39570b378d4bf478430a26bce [file] [log] [blame]
#
# arch/alpha/sysdual.S
#
#
# Some system calls have an alternate return value in r20 (a4).
# This system call stub is for system calls where that is
# the "real" return value.
#
#include <machine/asm.h>
.text
.align 3
.type __syscall_dual1,@function
.ent __syscall_dual1, 0
.globl __syscall_dual1
__syscall_dual1:
callsys
lda v0, 0(a4)
beq a3, 1f
ldah a1, errno(zero)
lda v0, -1(zero)
stq a3, errno(a1)
1:
ret zero,(ra),1
.size __syscall_dual1,.-__syscall_dual1
.end __syscall_dual1