From owner-freebsd-arch@FreeBSD.ORG Tue Jun 5 21:30:42 2012 Return-Path: Delivered-To: freebsd-arch@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id BB36D106564A; Tue, 5 Jun 2012 21:30:42 +0000 (UTC) (envelope-from joerg@britannica.bec.de) Received: from mo6-p00-ob.rzone.de (mo6-p00-ob.rzone.de [IPv6:2a01:238:20a:202:5300::1]) by mx1.freebsd.org (Postfix) with ESMTP id 94EE88FC0C; Tue, 5 Jun 2012 21:30:41 +0000 (UTC) X-RZG-AUTH: :JiIXek6mfvEEUpFQdo7Fj1/zg48CFjWjQv0cW+St/nW/afgnrylsiW+1ZjV+pgsJ X-RZG-CLASS-ID: mo00 Received: from britannica.bec.de (ip-109-45-139-202.web.vodafone.de [109.45.139.202]) by smtp.strato.de (jored mo73) (RZmta 29.10 DYNA|AUTH) with (AES128-SHA encrypted) ESMTPA id A07bfao55ISlKb ; Tue, 5 Jun 2012 23:30:37 +0200 (CEST) Received: by britannica.bec.de (sSMTP sendmail emulation); Tue, 05 Jun 2012 23:30:34 +0200 Date: Tue, 5 Jun 2012 23:30:34 +0200 From: Joerg Sonnenberger To: svn-src-all@freebsd.org Message-ID: <20120605213034.GA25293@britannica.bec.de> References: <201206042134.q54LYoVJ067685@svn.freebsd.org> <20120605074741.GA1391@garage.freebsd.pl> <20120605130922.GE13306@vniz.net> <20120606043731.D1124@besplex.bde.org> <20120605194102.GA21173@vniz.net> <20120606054555.U1456@besplex.bde.org> <20120605210154.GA22370@vniz.net> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20120605210154.GA22370@vniz.net> User-Agent: Mutt/1.5.21 (2010-09-15) Cc: src-committers@FreeBSD.ORG, Pawel Jakub Dawidek , freebsd-arch@FreeBSD.ORG, svn-src-head@FreeBSD.ORG Subject: Re: svn commit: r236582 - head/lib/libc/stdlib X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Jun 2012 21:30:42 -0000 On Wed, Jun 06, 2012 at 01:01:54AM +0400, Andrey Chernov wrote: > On Wed, Jun 06, 2012 at 06:11:01AM +1000, Bruce Evans wrote: > > This is essentially unusable (so a bad idea). Instead of unconditionally > > saving and restoring errno around calls to free(), portable POSIX code > > can soon use a messy ifdef to avoid doing this in some cases, but still > > has to do it in other cases. The results is just bloat and complexity > > at the source level: > > It looks like they now consider POSIX as moving target where previous > POSIX versions compatibility is not so essential to care about much. I > don't have other interpretation of their decision to suddenly accept > free() as not modifying errno. Since they clearly indicate code > differences for old and new standard, they are well aware of them and of > resulting code bloating. Can you please stop the unjustified rants? The "new" behavior of free(3) doesn't break any existing code, so it is certainly compatible with "old" free(3). The "new" behavior can be obtained easily for code that wants to be portable to "old" implementations using the C preprocessor and a small inline wrapper. As such, there is no code bloating. Joerg