From owner-svn-src-all@freebsd.org Sun Aug 23 15:16:55 2015 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 797E99C0650; Sun, 23 Aug 2015 15:16:55 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from mx1.stack.nl (relay02.stack.nl [IPv6:2001:610:1108:5010::104]) (using TLSv1 with cipher DHE-RSA-CAMELLIA256-SHA (256/256 bits)) (Client CN "mailhost.stack.nl", Issuer "CA Cert Signing Authority" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 3E639114A; Sun, 23 Aug 2015 15:16:55 +0000 (UTC) (envelope-from jilles@stack.nl) Received: from snail.stack.nl (snail.stack.nl [IPv6:2001:610:1108:5010::131]) by mx1.stack.nl (Postfix) with ESMTP id 7B17D358C66; Sun, 23 Aug 2015 17:16:51 +0200 (CEST) Received: by snail.stack.nl (Postfix, from userid 1677) id 5D06028494; Sun, 23 Aug 2015 17:16:51 +0200 (CEST) Date: Sun, 23 Aug 2015 17:16:51 +0200 From: Jilles Tjoelker To: Jason Evans Cc: Jan Beich , svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r286866 - in head: contrib/jemalloc contrib/jemalloc/doc contrib/jemalloc/include/jemalloc contrib/jemalloc/include/jemalloc/internal contrib/jemalloc/src include lib/libc/gen lib/libc/... Message-ID: <20150823151651.GA45396@stack.nl> References: <201508180021.t7I0LQwE016289@repo.freebsd.org> <20150818211743.GA29760@stack.nl> <790D5607-6662-4817-8CD0-6A435D1F7E49@freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <790D5607-6662-4817-8CD0-6A435D1F7E49@freebsd.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Aug 2015 15:16:55 -0000 On Tue, Aug 18, 2015 at 02:28:25PM -0700, Jason Evans wrote: > On Aug 18, 2015, at 2:17 PM, Jilles Tjoelker wrote: > > On Tue, Aug 18, 2015 at 09:49:44PM +0200, Jan Beich wrote: > >> Jason Evans writes: > >>>>> + - Remove the *allocm() API, which is superseded by the *allocx() API. > >>>> Symbol.map and manpages haven't been updated. > > You can't really remove anything from Symbol.map files, since that > > breaks binary compatibility for applications that used the removed > > symbols. Such breakage usually crashes the application if and when it > > attempts to use a removed symbol. To avoid the breakage, wrappers > > invoking the new APIs should be provided; using some special symver > > directives, it is possible to prevent linking new applications against > > the obsolete symbols. > *allocm() compatibility functions are in place, so I think this is > correctly sorted out. Jan also pointed out missing entries for > sdallocx() in a previous email, which I've already committed the fix > for (r286872). Sorry, I didn't read the code sufficiently thoroughly. The compatibility code looks good, now I see it. > > A corollary is that experimental APIs should not be added to Symbol.map. > > It may be better for developers that want to use experimental APIs to > > build jemalloc themselves, or to use jemalloc from ports (although such > > a port doesn't seem to exist, currently). > Yes, exposing *allocm() was a big mistake. :( Does that mean that mallocx() and friends will stay for a long time? -- Jilles Tjoelker