Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 May 2007 10:20:45 -0600 (MDT)
From:      Warner Losh <imp@bsdimp.com>
To:        rwatson@freebsd.org
Cc:        cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, bde@optusnet.com.au
Subject:   Re: cvs commit: src/lib/libmemstat memstat_malloc.c
Message-ID:  <20070522.102045.112563319.imp@bsdimp.com>
In-Reply-To: <20070522115750.J50138@fledge.watson.org>
References:  <200705211816.l4LIG5io091428@repoman.freebsd.org> <20070522164613.E5269@besplex.bde.org> <20070522115750.J50138@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
From: Robert Watson <rwatson@FreeBSD.org>
Subject: Re: cvs commit: src/lib/libmemstat memstat_malloc.c
Date: Tue, 22 May 2007 11:58:19 +0100 (BST)

> 
> On Tue, 22 May 2007, Bruce Evans wrote:
> 
> > On Mon, 21 May 2007, Robert Watson wrote:
> >
> >> rwatson     2007-05-21 18:16:04 UTC
> >>
> >>  FreeBSD src repository
> >>
> >>  Modified files:
> >>    lib/libmemstat       memstat_malloc.c
> >>  Log:
> >>  Make pointer argument to kread_string() const since the kernel structure
> >>  field is const, and then employ __DECONST before getting into the kvm
> >>  code.  This eliminates a gcc 4.2 warning about losing constification.
> >>
> >>  __DECONST advice from:  sam
> >
> > Should know better than to use __DECONST: C programmers.

Zen Master bde hits.  You are confused.  You are Dazed.--More--
You have received enlightment.  Welcome to level 34583.
 
> This basically trickles up from libkvm, which presumably also wants to be 
> const-poisoned.

Yes.  Const poisoning is a post-order call graph traversal excersize.
However, given the size of our call graphs, and their complexity,
there are practical issues.  In const-poisoning large systems, often
times one needs to use half-measures, and bogosities like __DECONST to
make progress.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070522.102045.112563319.imp>