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

Re: [Xen-devel] [PATCH v2 for 4.5] arm32: fix build after 063188f4b3



On 10/14/2014 01:57 PM, Ian Campbell wrote:
> On Tue, 2014-10-14 at 13:43 +0100, Julien Grall wrote:
>> On 10/14/2014 10:15 AM, Ian Campbell wrote:
>>> On Mon, 2014-10-13 at 16:29 +0100, Julien Grall wrote:
>>>
>>>> +GLOBAL(do_smc)
>>>
>>>> +GLOBAL(do_smc)
>>>
>>> These should both be ENTRY.
>>
>> Why? Is it because GLOBAL should be used for variable and ENTRY for
>> function?
> 
> Exactly. The practical difference is that ENTRY makes sure the code
> entry point is suitably aligned, but semantically ENTRY is the correct
> name.

Thanks for the explanation. So arm*/debug.S are buggy. I will send a
patch to replace GLOBAL by ENTRY.

>>>> +int do_smc(register_t function_id, ...);
>>>
>>> Are you sure that the variadic function calling convention is the same
>>> as for a regular function call? I'm not entirely clear having read
>>> AAPCS, it says they are marshalled according to "the standard base". 
>>
>> All the parameters fits in a register, so the compiler will effectively
>> use the first registers to pass arguments.
> 
> Does it? Even with variadic functions? It's not unheard of for an ABI to
> fallback to pushing things onto the stack for such cases, since it works
> out far easier in stdargs.h.

You are right, it looks like it's compiler depend how variadic function
will be called.

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