On 09.08.21 17:09, Philippe Gerum wrote:
> 
> Jan Kiszka <jan.kis...@siemens.com> writes:
> 
>> On 07.08.21 17:52, Jan Kiszka via Xenomai wrote:
>>> From: Jan Kiszka <jan.kis...@siemens.com>
>>>
>>> Since gcc-9, direct usage of r7 is in conflict with compiler
>>> allocations. Skip it.
>>>
>>> Signed-off-by: Jan Kiszka <jan.kis...@siemens.com>
>>> ---
>>>  .../arch/arm/include/asm/xenomai/uapi/arith.h      | 14 +++++++-------
>>>  1 file changed, 7 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h 
>>> b/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h
>>> index cf897b44fa..4d3ae65411 100644
>>> --- a/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h
>>> +++ b/kernel/cobalt/arch/arm/include/asm/xenomai/uapi/arith.h
>>> @@ -79,9 +79,9 @@ mach_arm_nodiv_ullimd(const unsigned long long op,
>>>     register unsigned frach __asm__ ("r3");
>>>     register unsigned integ __asm__("r4") = rhs_integ;
>>>     register unsigned opl __asm__ ("r6");
>>> -   register unsigned oph __asm__ ("r7");
>>> -   register unsigned tl __asm__("r8");
>>> -   register unsigned th __asm__("r9");
>>> +   register unsigned oph __asm__ ("r8");
>>> +   register unsigned tl __asm__("r9");
>>> +   register unsigned th __asm__("r10");
>>>  
>>>     xnarch_u64tou32(op, oph, opl);
>>>     xnarch_u64tou32(frac, frach, fracl);
>>> @@ -109,10 +109,10 @@ mach_arm_nodiv_llimd(const long long op,
>>>     register unsigned frach __asm__ ("r3");
>>>     register unsigned integ __asm__("r4") = rhs_integ;
>>>     register unsigned opl __asm__ ("r6");
>>> -   register unsigned oph __asm__ ("r7");
>>> -   register unsigned tl __asm__("r8");
>>> -   register unsigned th __asm__("r9");
>>> -   register unsigned s __asm__("r10");
>>> +   register unsigned oph __asm__ ("r8");
>>> +   register unsigned tl __asm__("r9");
>>> +   register unsigned th __asm__("r10");
>>> +   register unsigned s __asm__("r11");
>>
>> Florian just pointed out that r11 is the frame pointer. Not many options
>> remaining - ideas?
> 
> Try r12(ip) adding it to the clobber list.
> 

Yeah, just had the same idea while browsing the ABI...

Jan

-- 
Siemens AG, T RDA IOT
Corporate Competence Center Embedded Linux

Reply via email to