[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 30/34] xen: Add missing includes on different files



On 03/28/2014 09:59 AM, Ian Campbell wrote:
> 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.

These functions are not used by x86 (because of the if BITS_PER_LONG ==
32), and on ARM we provide eabi_* helpers.

>>
>> 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".

I'm afraid there is no __attribute__ feature for a such thing. One
solution could be introduce mismatch section as Linux (e.g: functions
called from assembly are in a specific section).

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.