Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932544AbcLMBIH (ORCPT ); Mon, 12 Dec 2016 20:08:07 -0500 Received: from mx1.redhat.com ([209.132.183.28]:56474 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932206AbcLMBIE (ORCPT ); Mon, 12 Dec 2016 20:08:04 -0500 Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm To: Dodji Seketeli , Nicholas Piggin 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> <1480541581.16599.78.camel@decadent.org.uk> <20161201125545.406d092c@roar.ozlabs.ibm.com> <1480559754.16599.92.camel@decadent.org.uk> <20161201143928.07a08348@roar.ozlabs.ibm.com> <6e8cf20b-2d2f-ba1f-e02c-c757d5a25db7@suse.com> <20161209133308.0acbb57a@roar.ozlabs.ibm.com> <1481296893.4509.135.camel@hellion.org.uk> <20161210021529.4a6e684f@roar.ozlabs.ibm.com> <86vaus3eld.fsf@seketeli.org> Cc: Ian Campbell , Michal Marek , Ben Hutchings , Linus Torvalds , 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 From: Stanislav Kozina Message-ID: Date: Tue, 13 Dec 2016 02:07:42 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.4.0 MIME-Version: 1.0 In-Reply-To: <86vaus3eld.fsf@seketeli.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.25]); Tue, 13 Dec 2016 01:08:03 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1514 Lines: 52 Hello, >> That said, a dwarf based checker tool should be able to do as good a job >> (maybe a bit better because report is very informative and it may pick up >> compiler alignments or padding options). > So, Nicholas was kind enough to send me the two Linux Kernel binaries > that he built with the tiny little interface change that we were > discussing earlier. Here is what the abidiff[1] tools says about that > interface change: Thanks Nicholas and Dodji for this great example, for comparison I think it would be nice to share the example run with kabi-dw too. kabi-dw first dumps and unifies all type information into a set of text files, the unification takes a significant time. Then the two sets of these text files can be compared. An example run would look like: $ time ~/Code/kabi-dw/kabi-dw generate -o abi1 vmlinux.abi1 Generating symbol defs from vmlinux.abi1... real 0m29.057s user 0m13.929s sys 0m14.862s $ time ~/Code/kabi-dw/kabi-dw generate -o abi2 vmlinux.abi2 Generating symbol defs from vmlinux.abi2... real 0m29.134s user 0m13.961s sys 0m14.921s $ time ~/Code/kabi-dw/kabi-dw compare abi1 abi2 Changes detected in: home/npiggin/src/linux.vectors/mm/memory.c/struct--blah.txt Inserted: +0x0 int y; Shifted: -0x0 int x; +0x4 int x; real 0m0.176s user 0m0.135s sys 0m0.040s The size of the generated text files with all the relevant type information is as follows: $ du -hs abi1 16M abi1 $ find abi1 -type f | wc -l 3162 Warm regards, -Stanislav