svn commit: r223854 - head/lib/libstand

Craig Rodrigues rodrigc at crodrigues.org
Fri Jul 8 08:49:31 UTC 2011


Hi,

While not ideal, would it be possible consider setting WARNS to set
different levels
depending on what the value of ${MACHINE_ARCH} is?

Something like:

.if ${MACHINE_ARCH} != "sparc64"  (or whatever the correct value is)
WARNS ?= 0
.else
WARNS ?= 2
.endif

This would at least be an attempt to prevent people from adding new
code to libstand which introduce new warnings.
--
Craig Rodrigues
rodrigc at crodrigues.org

On Thu, Jul 7, 2011 at 6:35 PM, Tai-hwa Liang <avatar at freebsd.org> wrote:

> Author: avatar
> Date: Fri Jul  8 01:35:33 2011
> New Revision: 223854
> URL: http://svn.freebsd.org/changeset/base/223854
>
> Log:
>  Fixing building bustage on 32 bits platforms when WARNS >= 2.  Note that
>  this fix only applies to zalloc.c, the other part of libstand such like
>  qdivrem.c still gives compilation warnings on sparc64 tinderbox builds;
>  therefore, WARNS level isn't changed for now.
>
>  Submitted by: Garrett Cooper <yanegomi at gmail.com>
>  Reviewed by:  bde
>
> Modified:
>  head/lib/libstand/zalloc.c
>  head/lib/libstand/zalloc_defs.h
>
> Modified: head/lib/libstand/zalloc.c
>
> ==============================================================================
> --- head/lib/libstand/zalloc.c  Fri Jul  8 01:32:04 2011        (r223853)
> +++ head/lib/libstand/zalloc.c  Fri Jul  8 01:35:33 2011        (r223854)
> @@ -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,%ju): wild pointer", ptr, bytes);
> +       panic("zfree(%p,%ju): wild pointer", ptr, (uintmax_t)bytes);
>
>     /*
>      * free the segment
> @@ -177,8 +177,10 @@ zfree(MemPool *mp, void *ptr, iaddr_t by
>                /*
>                 * range check
>                 */
> -               if ((char *)ptr + bytes > (char *)mn)
> -                   panic("zfree(%p,%ju): corrupt memlist1",ptr, bytes);
> +               if ((char *)ptr + bytes > (char *)mn) {
> +                   panic("zfree(%p,%ju): corrupt memlist1", ptr,
> +                       (uintmax_t)bytes);
> +               }
>
>                /*
>                 * merge against next area or create independant area
> @@ -208,8 +210,10 @@ zfree(MemPool *mp, void *ptr, iaddr_t by
>                return;
>                /* NOT REACHED */
>            }
> -           if ((char *)ptr < (char *)mn + mn->mr_Bytes)
> -               panic("zfree(%p,%ju): corrupt memlist2", ptr, bytes);
> +           if ((char *)ptr < (char *)mn + mn->mr_Bytes) {
> +               panic("zfree(%p,%ju): corrupt memlist2", ptr,
> +                   (uintmax_t)bytes);
> +           }
>        }
>        /*
>         * We are beyond the last MemNode, append new MemNode.  Merge
> against
>
> Modified: head/lib/libstand/zalloc_defs.h
>
> ==============================================================================
> --- head/lib/libstand/zalloc_defs.h     Fri Jul  8 01:32:04 2011
>  (r223853)
> +++ head/lib/libstand/zalloc_defs.h     Fri Jul  8 01:35:33 2011
>  (r223854)
> @@ -39,6 +39,7 @@
>  #define ZALLOCDEBUG
>
>  #include <string.h>
> +#include <sys/stdint.h>
>  #include "stand.h"
>
>  typedef uintptr_t iaddr_t;     /* unsigned int same size as pointer    */
>



-- 
Craig Rodrigues
rodrigc at rodrigues.org


More information about the svn-src-head mailing list