From nobody Fri Oct 07 13:12:13 2022 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4MkTHK4CZyz4dk6B; Fri, 7 Oct 2022 13:12:13 +0000 (UTC) (envelope-from danfe@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4MkTHK3mxDz3n2j; Fri, 7 Oct 2022 13:12:13 +0000 (UTC) (envelope-from danfe@freebsd.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665148333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ELg/BQT+C/J2lIGRNO+Y3QXBzGsc9wVoKmgS+09WZ80=; b=cTC1say20GFgGBJpGdl9FbRwgpVnoyZEd6oF2Y88/e8E6B/Fbfxo0/fJhordGQi0HphtlG gCBN5P4zYh/9v5aQT+g4Xl3p+hNhozWkxHbwpfX+QsqJ1sCk6Rta2iA/Fnf5syg21E7uHT TOokvktzh3ITOChnIEwGXkr0IVHN2uibjhy3SRgfStGo4A6EmOjGTDRGX5ZX5bFsNzJZXJ +zfXpvonDziZa8SjNLXpHo7BkAWVACsfaorgkQOV1NSL3sg+mh8P4LJcVI3uq7Nkk7+ZW7 vTH3o1AiknZfcwdFltDKv/CFRlpR6AwftAEJk9BF1/34NKVbAgxcMQnx78hMgg== Received: by freefall.freebsd.org (Postfix, from userid 1033) id 55257FB3D; Fri, 7 Oct 2022 13:12:13 +0000 (UTC) Date: Fri, 7 Oct 2022 13:12:13 +0000 From: Alexey Dokuchaev To: Xin LI Cc: src-committers@freebsd.org, dev-commits-src-all@freebsd.org, dev-commits-src-main@freebsd.org Subject: Re: git: af3c78886fd8 - main - Alter the prototype of qsort_r(3) to match POSIX, which adopted the glibc-based interface. Message-ID: References: <202209302230.28UMUq4I029171@gitrepo.freebsd.org> List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-all@freebsd.org X-BeenThere: dev-commits-src-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <202209302230.28UMUq4I029171@gitrepo.freebsd.org> ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1665148333; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=ELg/BQT+C/J2lIGRNO+Y3QXBzGsc9wVoKmgS+09WZ80=; b=S1hLK/qmHy5AGjEC/ZHAza08R5NCYInvjlAQY9J1tGmBw8ZKqI0jAKAmjr6Oiyz9qpNxNL RfODasmitlaBbDCBQpME7m60J5Yig2enqZo/W/aWaLTptxqyF/LFD+Lxjo00dczvrekvgJ jOS2jq0edBVG+VXT1spr5y5mMtLtwlWbCbde6uqHHnVbl0MlC0rTY74rOjQDb6j9KEncjz 9GuHhgVNlsNWe5rqQinpglHGZhbgyGuqyZDhzFiAZQnKg+csdCzJRinfwu7eQrQm1+mwpa Vj95l6pC6CFskYkKjmieuujiZVZykCkUxIiIdRpcbMS7WY/HdBy5fe3OxUNLyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1665148333; a=rsa-sha256; cv=none; b=oFxr8zn3v0xgrlq7EnohL4LKUc9RfZGNnI0K9sw5727pfM84vYdsqQ2PaEOzcv8a5zRFgm jnF2shtl07dNtrbBTSx5HBs7IoMYArXZ8I+/vfi7s0sydEViOoMUSBDfh2uUJ2dU9aYpXU X995LW1Zmfe0QQEBR9KY2R9BS3i+OuMsQnKSLTcvkAYTE7Y2JTUw4EOi77OEyqp3ww4fjx dY34r8L9/VCeDNlZ67+b3iNK8r16P0FO26hSAP5JKpW5Jc5tvZfUaT83lJOfvgwozgoM/j cHqUlsCbbdlVDDX+d1d1+PFJHIKhgw8kWJpZ5KhCTWRsSmIeinxMxOmA9yDO4g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N On Fri, Sep 30, 2022 at 10:30:52PM +0000, Xin LI wrote: > commit af3c78886fd8d4ca5eebdbe581a459a6f6d29d6a > > Alter the prototype of qsort_r(3) to match POSIX, which adopted the > glibc-based interface. > > Unfortunately, the glibc maintainers, despite knowing the existence > of the FreeBSD qsort_r(3) interface in 2004 and refused to add the > same interface to glibc based on grounds of the lack of standardization > and portability concerns, has decided it was a good idea to introduce > their own qsort_r(3) interface in 2007 as a GNU extension with a > slightly different and incompatible interface. > > With the adoption of their interface as POSIX standard, let's switch > to the same prototype, there is no need to remain incompatible. What a sad story, and so unfair to FreeBSD as we now have to deal with compatibility hacks (as mandree@ had said, having to parenthesize a function name is an abomination). Can you elaborate on technical side of things a bit? Is GNU qsort_r(3) interface, while incompatible, better than ours in 1-to-1 comparison, leaving the grief of not going with our older one aside? Thanks, ./danfe