Date: Wed, 23 Jul 2008 03:18:20 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Alfred Perlstein <alfred@FreeBSD.org> Cc: Marcel Moolenaar <xcllnt@mac.com>, freebsd-arch@FreeBSD.org Subject: Re: RFC: cross-libkvm/libthread_db/proc_service Message-ID: <20080723025519.F18257@delplex.bde.org> In-Reply-To: <20080721214104.GF76659@elvis.mu.org> References: <34889018-8358-46AC-897E-32767FB84E14@mac.com> <200807211049.47579.jhb@freebsd.org> <Pine.GSO.4.64.0807211659450.2608@sea.ntplx.net> <20080721214104.GF76659@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 21 Jul 2008, Alfred Perlstein wrote: > Isn't it a bit strange to export 64bit pointers to 32 bit userspace? Only for pointers in kernel objects, and I think the proposed change doesn't touch that. kvm_read() doesn't use pointers for kernel addresses. It uses unsigned longs. But even uintmax_t is not enough in general, since the application uintmax_t might be too small to represent a kernel pointer. The type used shouldn't be fixed-width, but typedefed in an MD way like vm_offset_t. vm_offset_t gives the correct integral type to use for (mapped) kernel addresses and related compat_fewer_bit[s] type[s] are needed in userland. It would probably be too hard to support the general case which requires the compat types to be arrays or structs. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20080723025519.F18257>