Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755647AbcLNKPM (ORCPT ); Wed, 14 Dec 2016 05:15:12 -0500 Received: from mx2.suse.de ([195.135.220.15]:50488 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754826AbcLNKPK (ORCPT ); Wed, 14 Dec 2016 05:15:10 -0500 Subject: Re: [PATCH] x86/kbuild: enable modversions for symbols exported from asm To: Dodji Seketeli References: <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> <867f72vqec.fsf@seketeli.org> <20161214091539.GA9000@sepie.suse.cz> <86twa6svhi.fsf@seketeli.org> <86y3zirfpq.fsf@seketeli.org> Cc: Nicholas Piggin , Ian Campbell , 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: Michal Marek Message-ID: <3bb2d553-8f3c-d58b-d646-9a3609286260@suse.com> Date: Wed, 14 Dec 2016 11:15:07 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.0 MIME-Version: 1.0 In-Reply-To: <86y3zirfpq.fsf@seketeli.org> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 890 Lines: 24 On 2016-12-14 11:02, Dodji Seketeli wrote: > Michal Marek a écrit: > >>> Libabigail does a "whole binary" analysis of types. >>> >>> So, consider the point of use of the type 'struct s1*'. Even if 'struct >>> s' is just forward-declared at that point, the declaration of struct s1 >>> is "resolved" to its definition. Even if the definition comes later in >>> the binary. >> >> But there isn't any definition of struct s1 in t1.o. Does abidiff >> "steal" the definition from the other object file? That would be >> legitimate, I'm just curious. > > If there is another translation unit in the *same* binary that defines > struct s1, then yes, it's "stolen", as you say. > > But if in the entire binary, struct s1 is just declared (not defined), > then it'll compare equal to any struct s1 that is defined in the > *second* binary. That makes sense, thanks. Michal