summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/imgact_aout.c8
-rw-r--r--sys/kern/kern_thr.c4
-rw-r--r--sys/kern/uipc_socket.c7
3 files changed, 11 insertions, 8 deletions
diff --git a/sys/kern/imgact_aout.c b/sys/kern/imgact_aout.c
index f4e4614..6c2f627 100644
--- a/sys/kern/imgact_aout.c
+++ b/sys/kern/imgact_aout.c
@@ -82,7 +82,13 @@ struct sysentvec aout_sysvec = {
.sv_copyout_strings = exec_copyout_strings,
.sv_setregs = exec_setregs,
.sv_fixlimit = NULL,
- .sv_maxssiz = NULL
+ .sv_maxssiz = NULL,
+ .sv_flags = SV_ABI_FREEBSD | SV_AOUT |
+#if defined(__i386__)
+ SV_IA32 | SV_ILP32
+#else
+#error Choose SV_XXX flags for the platform
+#endif
};
static int
diff --git a/sys/kern/kern_thr.c b/sys/kern/kern_thr.c
index dade1c2..3802259 100644
--- a/sys/kern/kern_thr.c
+++ b/sys/kern/kern_thr.c
@@ -57,14 +57,12 @@ __FBSDID("$FreeBSD$");
#ifdef COMPAT_IA32
-extern struct sysentvec ia32_freebsd_sysvec;
-
static inline int
suword_lwpid(void *addr, lwpid_t lwpid)
{
int error;
- if (curproc->p_sysent != &ia32_freebsd_sysvec)
+ if (SV_CURPROC_FLAG(SV_LP64))
error = suword(addr, lwpid);
else
error = suword32(addr, lwpid);
diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c
index e712503..53c800e 100644
--- a/sys/kern/uipc_socket.c
+++ b/sys/kern/uipc_socket.c
@@ -136,9 +136,8 @@ __FBSDID("$FreeBSD$");
#ifdef COMPAT_IA32
#include <sys/mount.h>
+#include <sys/sysent.h>
#include <compat/freebsd32/freebsd32.h>
-
-extern struct sysentvec ia32_freebsd_sysvec;
#endif
static int soreceive_rcvoob(struct socket *so, struct uio *uio,
@@ -2280,7 +2279,7 @@ sosetopt(struct socket *so, struct sockopt *sopt)
case SO_SNDTIMEO:
case SO_RCVTIMEO:
#ifdef COMPAT_IA32
- if (curthread->td_proc->p_sysent == &ia32_freebsd_sysvec) {
+ if (SV_CURPROC_FLAG(SV_ILP32)) {
struct timeval32 tv32;
error = sooptcopyin(sopt, &tv32, sizeof tv32,
@@ -2461,7 +2460,7 @@ integer:
tv.tv_sec = optval / hz;
tv.tv_usec = (optval % hz) * tick;
#ifdef COMPAT_IA32
- if (curthread->td_proc->p_sysent == &ia32_freebsd_sysvec) {
+ if (SV_CURPROC_FLAG(SV_ILP32)) {
struct timeval32 tv32;
CP(tv, tv32, tv_sec);
OpenPOWER on IntegriCloud