From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ian Campbell Subject: Re: [PATCH 30/34] xen: Add missing includes on different files Date: Fri, 28 Mar 2014 09:59:04 +0000 Message-ID: <1396000744.22909.258.camel@kazak.uk.xensource.com> References: <1395766541-23979-1-git-send-email-julien.grall@linaro.org> <1395766541-23979-31-git-send-email-julien.grall@linaro.org> <1395940318.22909.223.camel@kazak.uk.xensource.com> <53346019.60605@linaro.org> <1395941997.22909.235.camel@kazak.uk.xensource.com> <53346443.4020808@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1WTTZ8-0006X5-C1 for xen-devel@lists.xenproject.org; Fri, 28 Mar 2014 09:59:10 +0000 In-Reply-To: <53346443.4020808@linaro.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Julien Grall Cc: xen-devel@lists.xenproject.org, Daniel De Graaf , tim@xen.org, stefano.stabellini@citrix.com List-Id: xen-devel@lists.xenproject.org On Thu, 2014-03-27 at 17:47 +0000, Julien Grall wrote: > On 03/27/2014 05:39 PM, Ian Campbell wrote: > > On Thu, 2014-03-27 at 17:30 +0000, Julien Grall wrote: > >> On 03/27/2014 05:11 PM, Ian Campbell wrote: > >>> On Tue, 2014-03-25 at 16:55 +0000, Julien Grall wrote: > >>>> This was spotted by -Wmissing-prototypes, which we can't enable because there > >>>> is exported function for assembly. I'm not sure if we need to add a prototype > >>>> for them. > >>> > >>> What exactly is the issue here? > >> > >> There a bunch of functions (see below for ARM) where the prototype is > >> not defined before. Mainly because theses functions are used by the > >> assembly code so we don't need to give a prototype. > >> > >> do_trap_* > >> start_xen > >> start_secondary > >> leave_hypervisor_tail > > > > Is that all of them? Although their prototypes are useless there are few > > enough of them that the benefit of being able to turn on > > Wmissing-prototypes might make it worth it. > > From the common code there is 7 others: > > core_parking_helper and get_cur_idle_nums (both of them are used on C > code but never defined in an header. I was lazy and I didn't write a patch). > > __qdivrem > __divdi3 > __umoddi3 > __moddi3 > __ldivmod_helper Still not awful I guess. Several of these are essentially library functions provided for the compiler to emit calls to, I wonder if there is some compiler header which we should be including which would prototype them. Probably not, worth a look though. > > For x86, I didn't yet try to compiled it with -Wmissing-prototypes. > > > > > Unless there is some attribute we can apply which marks these as not > > requiring a prototype? > > I will look at it. Thanks. > > Even better if as a side effect the compiler will > > warn about calls not from assembly... > > I would love to see this feature, but I don't think the linker is able > to differentiate call from C and from assembly :). The compiler could see a call from C code to a function whose prototype was marked with "called_from_asm_only". Ian.