From owner-cvs-all@FreeBSD.ORG Tue May 22 06:31:06 2007 Return-Path: X-Original-To: cvs-all@freebsd.org Delivered-To: cvs-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id B27C716A498; Tue, 22 May 2007 06:31:06 +0000 (UTC) (envelope-from jon@porthos.spock.org) Received: from porthos.spock.org (porthos.spock.org [204.97.176.45]) by mx1.freebsd.org (Postfix) with ESMTP id 606E813C483; Tue, 22 May 2007 06:31:06 +0000 (UTC) (envelope-from jon@porthos.spock.org) Received: from porthos.spock.org (localhost [127.0.0.1]) by porthos.spock.org with ESMTP serial EF600Q3T-B7F; Tue, 22 May 2007 02:04:32 -0400 (EDT) (envelope-from jon@porthos.spock.org) Received: (from jon@localhost) by porthos.spock.org (8.13.8/8.13.6/Submit) id l4M64W6J001577; Tue, 22 May 2007 02:04:32 -0400 (EDT) (envelope-from jon) Date: Tue, 22 May 2007 02:04:32 -0400 From: Jonathan Chen To: Daniel Eischen Message-ID: <20070522060432.GF70650@porthos.spock.org> References: <200705220303.l4M33TcW009568@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.12-2006-07-14 X-Scanned-By: MIMEDefang 2.57 on 204.97.176.45 Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org Subject: Re: cvs commit: src/lib/libc/stdlib Symbol.map X-BeenThere: cvs-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the entire tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 22 May 2007 06:31:06 -0000 On Tue, May 22, 2007 at 12:29:53AM -0400, Daniel Eischen wrote: > On Tue, 22 May 2007, Daniel Eischen wrote: > > >On Tue, 22 May 2007, Jonathan Chen wrote: > > > >>jon 2007-05-22 03:03:29 UTC > >> > >> FreeBSD src repository > >> > >> Modified files: > >> lib/libc/stdlib Symbol.map > >> Log: > >> __cleanup() is needed for ports/devel/valgrind, export it. > > > >Please revert this. fcloseall() is the interface to use. > > And the rule of thumb to use when trying to decide whether to export > these functions is, does it have a prototype in /usr/include/... The change has been backed out, however, I still have some concerns whether fcloseall() or something else is an appropriate replacement for __cleanup in valgrind. The main reason for my concern is that fcloseall() is not equivalent to __cleanup, and valgrind belongs in a special class of programs where some of its actions should mirror those of libc as closely as possible. A quick test shows that replacing __cleanup() with fcloseall() in valgrind can have an effect on valgrind's report of memory still allocated at program exit. Furthermore, the private section of Symbol.map already exports a number of other "private" functions not mentioned in /usr/include. While I respect the desire to keep libc as clean as possible, I think this might be a case that warrants an exception. Nevertheless, I'm willing to be convinced either way. -- (o_ 1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2-1-2 _o) \\\_\ Jonathan Chen jon@spock.org /_/// <____) No electrons were harmed during production of this message (____> ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~