Port-m68k archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: More toolchain issues
On Tue, 29 Sep 2009 14:21:35 +0200
Martin Husemann <martin%duskware.de@localhost> wrote:
> On Tue, Sep 29, 2009 at 01:59:06PM +0200, Frank Wille wrote:
> > #endif /* _REENTRANT */
> > movl #-1,%d0
> > + movl %d0,%a0
> > movl #-1,%d1
> > rts
> >
> > But maybe I'm missing something?
>
> Wouldn't that erroneously clobber %a0 in error paths of calls not
> returning a pointer?
We should check the M68k/V.4-ABI specs, but I guess that the ABI defines
d0, d1, a0 and a1 as volatile registers over a function call. Integers
are returned in d0, (64-bit in d0/d1 ?) and pointers in a0.
Provided this is the case, there is no risk in clobbering a0 when the
caller expects an integer.
--
Frank Wille
Home |
Main Index |
Thread Index |
Old Index