From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/13696 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: (OT?) Re: [musl] Symbol versioning approximation trips on compat symbols Date: Wed, 30 Jan 2019 09:57:19 -0500 Message-ID: <20190130145719.GI23599@brightrain.aerifal.cx> References: <87r2d5evvi.fsf@oldenburg2.str.redhat.com> <20190124014340.GV23599@brightrain.aerifal.cx> <20190124110931.GU21289@port70.net> <87sgxi718r.fsf@oldenburg2.str.redhat.com> <20190127040424.GA23599@brightrain.aerifal.cx> <20190127093650.GB30123@example.net> <87bm41xpce.fsf@oldenburg2.str.redhat.com> <20190128130813.GC30123@example.net> <20190128152912.GB23599@brightrain.aerifal.cx> <20190129171305.GA22427@example.net> Reply-To: musl@lists.openwall.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="65653"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Mutt/1.5.21 (2010-09-15) To: musl@lists.openwall.com Original-X-From: musl-return-13712-gllmg-musl=m.gmane.org@lists.openwall.com Wed Jan 30 15:57:38 2019 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by blaine.gmane.org with smtp (Exim 4.89) (envelope-from ) id 1gorJ3-000GzO-89 for gllmg-musl@m.gmane.org; Wed, 30 Jan 2019 15:57:37 +0100 Original-Received: (qmail 28339 invoked by uid 550); 30 Jan 2019 14:57:35 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Original-Received: (qmail 28315 invoked from network); 30 Jan 2019 14:57:31 -0000 Content-Disposition: inline In-Reply-To: <20190129171305.GA22427@example.net> Original-Sender: Rich Felker Xref: news.gmane.org gmane.linux.lib.musl.general:13696 Archived-At: On Tue, Jan 29, 2019 at 06:13:05PM +0100, u-uy74@aetey.se wrote: > On Mon, Jan 28, 2019 at 10:29:12AM -0500, Rich Felker wrote: > > On Mon, Jan 28, 2019 at 02:08:13PM +0100, u-uy74@aetey.se wrote: > > > If there is a feature which is hard or impossible to test for, like > > > symbol versioning, it means that the applications may _have_ to rely on > > > an explicit build flag telling whether to use it. > > > It wouldn't be hard to test for if toolchains had been consistent with > > musl capabilities all along. They have not been. So we have a > > situation where the valid build-time tests indicate support, but > > runtime silently lacks it. I don't think this is a good situation to > > What is the value (the "validity"?) of a build-time test if it > does not help to distinguish how to build a usable binary? > This seems to be testing for A when we want to know B. It's valid in that it works assuming the relevant components are following the reasonable rules/spec for what to do, which was designed to work in such a manner that it's safely detectable at configure time. In particular the tooling should only be offering symver support on targets that support it. We screwed up by not suppressing that in gcc a long time ago, but I think we probably would have hit more package-level breakage (that would have led to fruitless arguments and had negative impact on ability to work with upstreams) if lack of support stopped packages at build time rather than just silently breaking later if mismatched lib versions are use. Rich