Page MenuHomeFreeBSD

D16008.id44445.diff
No OneTemporary

D16008.id44445.diff

Index: head/sys/arm64/arm64/vm_machdep.c
===================================================================
--- head/sys/arm64/arm64/vm_machdep.c
+++ head/sys/arm64/arm64/vm_machdep.c
@@ -36,6 +36,7 @@
#include <sys/proc.h>
#include <sys/sf_buf.h>
#include <sys/signal.h>
+#include <sys/sysent.h>
#include <sys/unistd.h>
#include <vm/vm.h>
@@ -154,7 +155,7 @@
break;
default:
frame->tf_spsr |= PSR_C; /* carry bit */
- frame->tf_x[0] = error;
+ frame->tf_x[0] = SV_ABI_ERRNO(td->td_proc, error);
break;
}
}
Index: head/sys/arm64/linux/linux_sysvec.c
===================================================================
--- head/sys/arm64/linux/linux_sysvec.c
+++ head/sys/arm64/linux/linux_sysvec.c
@@ -143,25 +143,9 @@
static void
linux_set_syscall_retval(struct thread *td, int error)
{
- struct trapframe *frame;
- frame = td->td_frame;
-
- switch (error) {
- case 0:
- frame->tf_x[0] = td->td_retval[0];
- frame->tf_x[1] = td->td_retval[1];
- break;
- case ERESTART:
- /* LINUXTODO: verify */
- frame->tf_elr -= 4;
- break;
- case EJUSTRETURN:
- break;
- default:
- frame->tf_x[0] = error;
- break;
- }
+ td->td_retval[1] = td->td_frame->tf_x[1];
+ cpu_set_syscall_retval(td, error);
}
static int

File Metadata

Mime Type
text/plain
Expires
Thu, Mar 26, 9:11 PM (16 h, 18 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
30396146
Default Alt Text
D16008.id44445.diff (1 KB)

Event Timeline