sleep command with armv6hf

Weiß, Jürgen weiss at uni-mainz.de
Sat Apr 5 20:10:31 UTC 2014


Thanks very much for the patch. Now the function expects
its arguments in the r0/r1  registers.

The sleep command works as well.

Regards

Juergen


> -----Original Message-----
> From: Andrew Turner [mailto:andrew at fubar.geek.nz]
> Sent: Saturday, April 05, 2014 7:40 PM
> To: Weiß, Jürgen
> Cc: 'freebsd-arm at freebsd.org'
> Subject: Re: sleep command with armv6hf
> 
> On Sat, 5 Apr 2014 16:25:08 +0000
> "Weiß, Jürgen" <weiss at uni-mainz.de> wrote:
> 
> > under armv6hf the sleep command gives
> >
> > sleep: nanosleep: Invalid argument
> >
> > Further investigations seem to indicate the following problem:
> >
> > sleep calls the function __aeabi_d2lz
> >
> >         vmov    r0, r1, d8
> >         bl      __aeabi_d2lz
> >         mov     r4, r0
> >         mov     r5, r1
> >
> > with the argument in the r0/r1 registers. But the function
> > in libgcc.a expects the argument in d0 (seems to be
> > compiled with hardfloat as well).
> 
> Can you try the attached patch. It should fix the function to use the
> slightly odd calling convention of the __aeabi_* functions.
> 
> Andrew


More information about the freebsd-arm mailing list