Whole document tree
    

Whole document tree

Using the GNU Compiler Collection: Cross-Compiler Problems
[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

7.3 Cross-Compiler Problems

You may run into problems with cross compilation on certain machines, for several reasons.

  • Cross compilation can run into trouble for certain machines because some target machines' assemblers require floating point numbers to be written as integer constants in certain contexts.

    The compiler writes these integer constants by examining the floating point value as an integer and printing that integer, because this is simple to write and independent of the details of the floating point representation. But this does not work if the compiler is running on a different machine with an incompatible floating point format, or even a different byte-ordering.

    In addition, correct constant folding of floating point values requires representing them in the target machine's format. (The C standard does not quite require this, but in practice it is the only way to win.)

    It is now possible to overcome these problems by defining macros such as REAL_VALUE_TYPE. But doing so is a substantial amount of work for each target machine. See section `Cross Compilation and Floating Point Format' in Using and Porting GCC.

  • At present, the program `mips-tfile' which adds debug support to object files on MIPS systems does not work in a cross compile environment.



This document was generated by root on January, 30 2002 using texi2html