GCC and Hitachi H8300h - floating point numbers works!

Jurgis Armanavichius jurgis@medelkom.com
Fri May 21 01:58:00 GMT 1999


Hello,

I want to send many, many thanks to Giovanni Caterina,
Kai Ruottu and other good people, who helps me to solve
this strange error in GCC compiler for H8300H target!

Thank you!

In the GCC compiler for H8300H targets was error on floating
point number variables, like this:

int main(void)
{
   float x = 1.0;
   .....
}

Variable "x" was loaded with constant "1.0" correctly ONLY in
case you use "tiny" memory model ( <= 64KB). If your program
size exceeds 64KB, section ".rodata" appears at address > 64KB. 
So processor instruction "mov.l @.label_of_1_0:16,ERn" will work 
incorrectly, because of 16 bit addressing of that constant.

Now GCC works good. This error disappeared from egcs-1.1.2.

Best Regards,

Jurgis Armanavichius
Firma MEDELKOM, http://www.medelkom.com


_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.


More information about the crossgcc mailing list