Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Aug 2015 17:16:51 +0200
From:      Jilles Tjoelker <jilles@stack.nl>
To:        Jason Evans <jasone@freebsd.org>
Cc:        Jan Beich <jbeich@FreeBSD.org>, 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>
In-Reply-To: <790D5607-6662-4817-8CD0-6A435D1F7E49@freebsd.org>
References:  <201508180021.t7I0LQwE016289@repo.freebsd.org> <pp2l-jjsm-wny@FreeBSD.org> <C355793A-7EFE-4E6E-ACBF-5F772F6AC1E7@freebsd.org> <r3n0-74x3-wny@FreeBSD.org> <20150818211743.GA29760@stack.nl> <790D5607-6662-4817-8CD0-6A435D1F7E49@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 18, 2015 at 02:28:25PM -0700, Jason Evans wrote:
> On Aug 18, 2015, at 2:17 PM, Jilles Tjoelker <jilles@stack.nl> wrote:
> > On Tue, Aug 18, 2015 at 09:49:44PM +0200, Jan Beich wrote:
> >> Jason Evans <jasone@freebsd.org> 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



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