This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fr30 FP format question


Joel Sherrill wrote:

> FR30 can't build fortran because this is being tripped
> in gcc/f/target.h:
> 
> /* For now, g77 requires the ability to determine the exact bit pattern
>    of a float on the target machine.  (Hopefully this will be changed
>    soon).  Make sure we can do this.  */
> 
> #if !defined (REAL_ARITHMETIC) \
>   && ((TARGET_FLOAT_FORMAT != HOST_FLOAT_FORMAT) \
>       || (FLOAT_WORDS_BIG_ENDIAN != HOST_FLOAT_WORDS_BIG_ENDIAN))
> #error "g77 requires ability to access exact FP representation of target
> machine
> "
> #endif
> 
> The fr30 appears to only have software floating point based upon
> fr30/t-fr30 so I was thinking this had to be easy to fix but
> don't know precisely what I am looking for to compare against. :(
> 
> Could someone point me in the right direction?  Thanks.

As far as I can see, the only comparison in the above conditional that's
not true is FLOAT_WORDS_BIG_ENDIAN != HOST_FLOAT_WORDS_BIG_ENDIAN.

This is so, because the fr30 is a big-endian machine (which means that
its FLOATs will be big-endian also, by default), whereas the ix86, from
which you want to cross-compile, is a little-endian machine, with
little-endian FLOATs.

This means that you should be able to build the cross-compiler on a
big-endian machine, like powerpc, sparc, mips or s390 ...

-- 
Toon Moene - mailto:toon@moene.indiv.nluug.nl - phoneto: +31 346 214290
Saturnushof 14, 3738 XG  Maartensdijk, The Netherlands
Maintainer, GNU Fortran 77: http://gcc.gnu.org/onlinedocs/g77_news.html
Join GNU Fortran 95: http://g95.sourceforge.net/ (under construction)


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]