Date: Thu, 16 Jun 2011 18:16:47 +1000 (EST) From: Bruce Evans <brde@optusnet.com.au> To: Garrett Cooper <yanegomi@gmail.com> Cc: Tai-hwa Liang <avatar@freebsd.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r223139 - head/lib/libstand Message-ID: <20110616180803.D1005@besplex.bde.org> In-Reply-To: <BANLkTimG4svFzv1QPiKQcC7QdChLica9xA@mail.gmail.com> References: <201106160714.p5G7Etfx017112@svn.freebsd.org> <BANLkTi=X0_SBLAQ6t7amTLv7jF6_oXAV4Q@mail.gmail.com> <BANLkTimG4svFzv1QPiKQcC7QdChLica9xA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 16 Jun 2011, Garrett Cooper wrote: > On Thu, Jun 16, 2011 at 12:19 AM, Garrett Cooper <yanegomi@gmail.com> wrote: >> On Thu, Jun 16, 2011 at 12:14 AM, Tai-hwa Liang <avatar@freebsd.org> wrote: >>> Author: avatar >>> Date: Thu Jun 16 07:14:55 2011 >>> New Revision: 223139 >>> URL: http://svn.freebsd.org/changeset/base/223139 >>> >>> Log: >>> Unbreaking build on sparc64. Why not fix it on all arches? This seems to break it on all 32-bit arches. >>> Submitted by: Garrett Cooper <yanegomi@gmail.com> >>> >>> Modified: >>> head/lib/libstand/zalloc.c >>> >>> Modified: head/lib/libstand/zalloc.c >>> ============================================================================== >>> --- head/lib/libstand/zalloc.c Thu Jun 16 05:26:03 2011 (r223138) >>> +++ head/lib/libstand/zalloc.c Thu Jun 16 07:14:55 2011 (r223139) >>> @@ -154,7 +154,7 @@ zfree(MemPool *mp, void *ptr, iaddr_t by >>> if ((char *)ptr < (char *)mp->mp_Base || >>> (char *)ptr + bytes > (char *)mp->mp_End || >>> ((iaddr_t)ptr & MEMNODE_SIZE_MASK) != 0) >>> - panic("zfree(%p,%d): wild pointer", ptr, bytes); >>> + panic("zfree(%p,%ju): wild pointer", ptr, bytes); >> >> All of those need to be cast to (uintmax_t). Sorry :(.. Indeed. There is no format letter for intptr_t, and perhaps iaddr_t is supposed to be opaque anyway. > And you need to add #include <stdint.h> to stand.h in order to get > uintmax_t. Here's a proper patch for amd64.. This would add namespace pollution. stand.h doesn't use anything in <stdint.h>. It depends on normal namespace pollution in an XXX section in <sys/types.h> for the declaration of uintptr_t. It and other headers should use __uintptr_t instead. Strangely, <sys/types.h> declares uintptr_t but not uintmax_t. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110616180803.D1005>
