Use curproc->p_sysent->sv_flags bit SV_ILP32 for detection of the 32 bit

caller, instead of direct comparision with ia32_freebsd_sysvec.

Tested by:	pho
Approved by:	des
MFC after:	2 weeks
This commit is contained in:
Konstantin Belousov 2008-12-29 12:41:32 +00:00
parent 505d02eebe
commit c990bf0896
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=186562

View File

@ -46,6 +46,9 @@
#include <sys/mutex.h>
#include <sys/proc.h>
#include <sys/sbuf.h>
#ifdef COMPAT_IA32
#include <sys/sysent.h>
#endif
#include <sys/uio.h>
#include <sys/vnode.h>
@ -59,15 +62,6 @@
#include <vm/vm_page.h>
#include <vm/vm_object.h>
#ifdef COMPAT_IA32
#include <sys/procfs.h>
#include <machine/fpu.h>
#include <compat/ia32/ia32_reg.h>
extern struct sysentvec ia32_freebsd_sysvec;
#endif
#define MEBUFFERSIZE 256
/*
@ -104,8 +98,8 @@ procfs_doprocmap(PFS_FILL_ARGS)
return (EOPNOTSUPP);
#ifdef COMPAT_IA32
if (curthread->td_proc->p_sysent == &ia32_freebsd_sysvec) {
if (p->p_sysent != &ia32_freebsd_sysvec)
if (curproc->p_sysent->sv_flags & SV_ILP32) {
if (!(p->p_sysent->sv_flags & SV_ILP32))
return (EOPNOTSUPP);
wrap32 = 1;
}