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