From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nicholas Piggin Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm Date: Thu, 1 Dec 2016 22:09:07 +1100 Message-ID: <20161201220907.60375b4f@roar.ozlabs.ibm.com> References: <20161129131922.GA31466@angband.pl> <20161129135118.24696-1-kilobyte@angband.pl> <30bb2db4-47bd-0c35-8328-ef032b551f06@suse.com> <20161129195721.GI2697@decadent.org.uk> <20161201051852.28dc335f@roar.ozlabs.ibm.com> <20161201041325.GX35881@redhat.com> <830d2864-ab52-27c8-8178-ec86f3267079@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <830d2864-ab52-27c8-8178-ec86f3267079@redhat.com> Sender: linux-kbuild-owner@vger.kernel.org To: Stanislav Kozina Cc: Don Zickus , Linus Torvalds , Ben Hutchings , Michal Marek , Adam Borowski , Greg Kroah-Hartman , Linux Kbuild mailing list , Debian kernel maintainers , "linux-arch@vger.kernel.org" , Arnd Bergmann , Ingo Molnar , Linux Kernel Mailing List List-Id: linux-arch.vger.kernel.org On Thu, 1 Dec 2016 11:48:09 +0100 Stanislav Kozina wrote: > On 12/01/2016 05:13 AM, Don Zickus wrote: > > ... > > > I think GregKH pointed to one such tool, libabigail? We are working on > > others too. > > I should mention one of the others here: > https://github.com/skozina/kabi-dw > > It's quite comparable to libabigail in the way it works, the main > differences are: > - written in pure C > - depends only on elf-utils and flex/yacc > - it's much simpler (4k LOC) > - stores the type information in the text files and compares those > instead of directly comparing two sets of DWARF data Now this seems much better for distro ABI checking. The next question is, do they need any kernel support for rare cases where they do have to break the ABI of an export? Simple rename of the function with a _v2 postfix might be enough. We could retain some per symbol versioning in the kernel if needed, but how much would it actually help? Thanks, Nick From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-f67.google.com ([74.125.83.67]:34531 "EHLO mail-pg0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750738AbcLALJ2 (ORCPT ); Thu, 1 Dec 2016 06:09:28 -0500 Date: Thu, 1 Dec 2016 22:09:07 +1100 From: Nicholas Piggin Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm Message-ID: <20161201220907.60375b4f@roar.ozlabs.ibm.com> In-Reply-To: <830d2864-ab52-27c8-8178-ec86f3267079@redhat.com> References: <20161129131922.GA31466@angband.pl> <20161129135118.24696-1-kilobyte@angband.pl> <30bb2db4-47bd-0c35-8328-ef032b551f06@suse.com> <20161129195721.GI2697@decadent.org.uk> <20161201051852.28dc335f@roar.ozlabs.ibm.com> <20161201041325.GX35881@redhat.com> <830d2864-ab52-27c8-8178-ec86f3267079@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-arch-owner@vger.kernel.org List-ID: To: Stanislav Kozina Cc: Don Zickus , Linus Torvalds , Ben Hutchings , Michal Marek , Adam Borowski , Greg Kroah-Hartman , Linux Kbuild mailing list , Debian kernel maintainers , "linux-arch@vger.kernel.org" , Arnd Bergmann , Ingo Molnar , Linux Kernel Mailing List Message-ID: <20161201110907.xyP-W4a_NLh4o9OrqDln38K0RCuKQ-Ob7ZdcTlVfnUk@z> On Thu, 1 Dec 2016 11:48:09 +0100 Stanislav Kozina wrote: > On 12/01/2016 05:13 AM, Don Zickus wrote: > > ... > > > I think GregKH pointed to one such tool, libabigail? We are working on > > others too. > > I should mention one of the others here: > https://github.com/skozina/kabi-dw > > It's quite comparable to libabigail in the way it works, the main > differences are: > - written in pure C > - depends only on elf-utils and flex/yacc > - it's much simpler (4k LOC) > - stores the type information in the text files and compares those > instead of directly comparing two sets of DWARF data Now this seems much better for distro ABI checking. The next question is, do they need any kernel support for rare cases where they do have to break the ABI of an export? Simple rename of the function with a _v2 postfix might be enough. We could retain some per symbol versioning in the kernel if needed, but how much would it actually help? Thanks, Nick