Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 Apr 2014 20:09:50 +0000
From:      =?utf-8?B?V2Vpw58sIErDvHJnZW4=?= <weiss@uni-mainz.de>
To:        'Andrew Turner' <andrew@fubar.geek.nz>
Cc:        "'freebsd-arm@freebsd.org'" <freebsd-arm@freebsd.org>
Subject:   RE: sleep command with armv6hf
Message-ID:  <22ab1b9199024cae9c8c9ff6f445c631@e15be-01.zdv.Uni-Mainz.DE>
In-Reply-To: <20140405183958.65834b35@bender.Home>
References:  <79020061b2a74d8e8d56d47361ca3f4d@e15be-01.zdv.Uni-Mainz.DE> <20140405183958.65834b35@bender.Home>

index | next in thread | previous in thread | raw e-mail

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@fubar.geek.nz]
> Sent: Saturday, April 05, 2014 7:40 PM
> To: Weiß, Jürgen
> Cc: 'freebsd-arm@freebsd.org'
> Subject: Re: sleep command with armv6hf
> 
> On Sat, 5 Apr 2014 16:25:08 +0000
> "Weiß, Jürgen" <weiss@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

help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?22ab1b9199024cae9c8c9ff6f445c631>