Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 3 Aug 2014 10:39:15 -0500
From:      Pedro Giffuni <pfg@freebsd.org>
To:        Warner Losh <imp@bsdimp.com>
Cc:        svn-src-head@freebsd.org, Bruce Simpson <bms@fastmail.net>, src-committers@freebsd.org, svn-src-all@freebsd.org
Subject:   Re: svn commit: r268943 - in head: include lib/libc/stdlib
Message-ID:  <6A2B0200-EB23-459B-8E3F-6B1151C90D0E@freebsd.org>
In-Reply-To: <65378493-7F05-4314-9809-E689891F6067@gmail.com>
References:  <201407211522.s6LFMnQo084633@svn.freebsd.org> <53CD430F.5040604@fastmail.net> <68E8EDB9-64DE-4037-9047-C8BEAD86801A@freebsd.org> <65378493-7F05-4314-9809-E689891F6067@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

Il giorno 03/ago/2014, alle ore 09:27, Warner Losh <imp@bsdimp.com> ha =
scritto:

>=20
> On Jul 21, 2014, at 12:51 PM, Pedro Giffuni <pfg@freebsd.org> wrote:
>=20
>>=20
>> Il giorno 21/lug/2014, alle ore 11:42, Bruce Simpson =
<bms@fastmail.net> ha scritto:
>>=20
>>> On 21/07/2014 16:22, Pedro F. Giffuni wrote:
>>>> ]
>>>> Log:
>>>>  Add re-entrant versions of the hash functions based on the GNU =
api.
>>>>=20
>>> What, if anything, can be done about qsort_r() API incompatibility?
>>=20
>> qsort_r is non-standard and we did it first, plus we will want to =
stay compatible with Apple :).
>>=20
>> I guess we could do some ugly parameter swapping in the case where =
_GNU_SOURCE
>> is defined, but I won=92t volunteer to do that.
>=20
> Are there any ABI considerations for the change?
>=20

I would keep the qsort_r() ABI unchanged and add a GNU-compatible =
version that is used only when _GNU_SOURCE (but not _BSD_SOURCE) is =
defined.

This would already be pretty messy by itself because some portable code =
may define _GNU_SOURCE but still may try to use the Apple/BSD interface =
under another #ifdef. Perhaps it=92s just better to leave our headers =
alone and let the end-users do the wrapping.

Pedro.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6A2B0200-EB23-459B-8E3F-6B1151C90D0E>