From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 19572 invoked by alias); 19 Feb 2019 11:53:03 -0000 Mailing-List: contact elfutils-devel-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Post: List-Help: List-Subscribe: Sender: elfutils-devel-owner@sourceware.org Received: (qmail 19544 invoked by uid 89); 19 Feb 2019 11:53:02 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.100.2 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_PASS autolearn=ham version=3.3.2 spammy=management X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_PASS autolearn=ham version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: gnu.wildebeest.org Received: from wildebeest.demon.nl (HELO gnu.wildebeest.org) (212.238.236.112) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 19 Feb 2019 11:53:01 +0000 Received: from librem.wildebeest.org (deer0x15.wildebeest.org [172.31.17.151]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 3264B304D6F7; Tue, 19 Feb 2019 12:52:59 +0100 (CET) Received: by librem.wildebeest.org (Postfix, from userid 1000) id E2A6713F84F; Tue, 19 Feb 2019 12:52:58 +0100 (CET) Date: Tue, 19 Feb 2019 11:53:00 -0000 From: Mark Wielaard To: Ulf Hermann Cc: "elfutils-devel@sourceware.org" Subject: Re: Symbol versioning (Was: [Bug general/24000] couple of testsuite fails with uclibc library) Message-ID: <20190219115258.GC9572@wildebeest.org> References: <20190219104832.GA9572@wildebeest.org> <08139b16-c11b-cde1-e496-beb349424df6@qt.io> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <08139b16-c11b-cde1-e496-beb349424df6@qt.io> User-Agent: Mutt/1.10.1 (2018-07-13) X-Spam-Flag: NO X-IsSubscribed: yes X-SW-Source: 2019-q1/txt/msg00162.txt.bz2 On Tue, Feb 19, 2019 at 11:30:08AM +0000, Ulf Hermann wrote: > > The problem is that without it every elfutils release would (possibly) > > break the ABI between the shared libraries and programs using them. > > And we don't have/use a different mechanism to indicate symbols/ABI > > changed. How do you prevent things breaking when upgrading the > > elfutils libraries? > > I ship the version of elfutils the application links against with the > application. That is common practice on windows (and also on e.g. > macOS). The concept of package management only exist on some platforms > and only in this context symbol versioning makes sense. Even on linux, > with things like flatpak, binary compatibility between different > versions of a library becomes less important. It might work if you always compile everything from source (but even then you need to at least keep API source compatible) and link statically. But even things like flatpak support runtimes/libraries. As it turns out elfutils is part of the freedesktop base sdk, so even when using such packaging setup it still is important for elfutils to keep ABI. My point is more that if we disable symbol versioning we have to make it much more clear that the resulting shared libaries aren't really usable as "normal". Cheers, Mark