[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MiNT] Still don't get it - difference between 68020 and 68020-60



On Mon, 2010-06-21 at 11:05 +0200, Vincent Rivière wrote:
> Alan Hourihane wrote:
> > He/she can produce a m68000 compiled package and it should work on all
> > Atari's, and completely ignore the other capabilities of GCC.
> 
> No, as I explained several times there is an incompatibility in the 
> current gcc configuration (the default one in upstream sources). It is 
> about functions returning float/doubles. With -soft-float (enabled by 
> default for 68000) floats are returned into d0/d1. With -m68881 (enabled 
>   by default for -m68020 and higher) floats are returned in fp0. Thus, 
> mixing programs and libraries with different CPU options will not work 
> for functions returning floats.

I wasn't talking about mixing CFLAGS. If you build the entire package
with -m68000, then linkage isn't a problem.

> Maybe the clever approach should be to change the default GCC behaviour 
> (with a small performance loss) to always return floats into d0/d1 so a 
> 68000 soft-float library will be compatible with any CPU (except 
> ColdFire of course).

Maybe, but I'll leave that decision to you as the GCC maintainer.

Alan.