From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/8407 Path: news.gmane.org!not-for-mail From: =?UTF-8?B?0KDRi9GB0Yw=?= Newsgroups: gmane.linux.lib.musl.general Subject: Re: Adjustments to roadmap Date: Sun, 30 Aug 2015 12:13:53 +0700 Message-ID: <20150830121353.71d24c36@r2lynx> References: <20150828024347.GA7624@brightrain.aerifal.cx> <20150828072422.GE11263@example.net> <20150828183932.0f03a8d5@r2lynx> <20150828171818.GC7833@brightrain.aerifal.cx> <20150830112128.77511bbc@r2lynx> <20150830044654.GJ7833@brightrain.aerifal.cx> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1440911594 4864 80.91.229.3 (30 Aug 2015 05:13:14 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 30 Aug 2015 05:13:14 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-8419-gllmg-musl=m.gmane.org@lists.openwall.com Sun Aug 30 07:13:13 2015 Return-path: Envelope-to: gllmg-musl@m.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1ZVuvX-0006Fr-HZ for gllmg-musl@m.gmane.org; Sun, 30 Aug 2015 07:13:11 +0200 Original-Received: (qmail 28160 invoked by uid 550); 30 Aug 2015 05:13:10 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 28138 invoked from network); 30 Aug 2015 05:13:09 -0000 X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,NO_RECEIVED, NO_RELAYS autolearn=ham autolearn_force=no version=3.4.0 In-Reply-To: <20150830044654.GJ7833@brightrain.aerifal.cx> X-Mailer: claws_mail Xref: news.gmane.org gmane.linux.lib.musl.general:8407 Archived-At: On Sun, 30 Aug 2015 00:46:54 -0400 Rich Felker wrote: > On Sun, Aug 30, 2015 at 11:21:28AM +0700, =D0=A0=D1=8B=D1=81=D1=8C wrote: > > Don't you think that the snowball effect will be later in future so > > much amplified by this decision so that it will not be even able to > > be patched out? Well, then, that's why I prefer to use old stable > > versions which do not suffer from these virtual problems. >=20 > No, I don't, mainly because I don't ascribe that level of > self-importance to musl. :-) People who are using misguided features > like symbol versioning are not making the decision to do so based on > whether or not musl supports them. And there are already good reasons > to argue against use of symbol versioning aside from "it doesn't work > with musl" such as how it interacts with static linking. >=20 > As for your concern about "being unable to patch it out", if you're > running correct/matching library versions for your apps so they don't > need old symbol versions, the worst that should happen from "turning > back off" version support in musl ldso would be that libgcc_s breaks > (due to the internal use of a non-public version); then you just go > and patch libgcc_s not to do this. >=20 > If on the other hand you _do_ have mismatched library versions such > that old symbol versions are needed, then right now you've got silent > breakage with musl; if we supported versions and then you went and > patched that out, you'd just end up back where we are now, but not > with any new breakage. >=20 > Does that adequately address your concerns? >=20 > Rich The snowball effect I referred to is that your silent decision will amplify in future by allowing third parties to use symvers more and more in their code, then it will be so widespread it will be impossible to run anything without them. Instead, you and community as an alternative to glibc should teach them not to do. This is not a purely technical talk, sorry. You can't refere to pure technical reasons here. Why you want to be clean and straight in the area where hacks are in general use? For myself I already did everything in my systems to be sure that there is no such treat as "symbol versioning": patching binutils ld not to accept them, then patching every thing which silently requires them (alarmed by build failures in this way of course). I also do not use recent gcc, so I don't know which problems have arised again and why now again "libgcc_s breaks" (and why I don't even have it in my systems, both "desktop" and "server" configurations which include C++ complex code like qt4). I do care about future musl compatibility with existing code. All that new stuff is great and I tested 1.1.10 works on my systems without breakage, but when I hear "symbol versioning" that causes some fear despite I think it's only local hacks to support some gcc madness again (right?). I did fight with glibc symvers long time before to just forget about this always arising treat. Personally, I think symvers is a child of hell and always should be avoided and projects who use them should be teached about dangers. I also understand people who just don't know what "symbol versioning" is, but musl usage is mainly embedded plus those ideal desktops and alike built by those who know Linux more beyond "how to build kernel". And Linux itself never was a system which can be universally plugged in everywhere (or we'd have a non-configurable kernel). And how other non-glibc build environments solve libgcc_s breakage? Or they dead already?