Copyright (C) 2000-2012 |
GNU Info (g77-295.info)Cross-compiler ProblemsCross-compiler Problems ----------------------- `g77' has been in alpha testing since September of 1992, and in public beta testing since February of 1995. Alpha testing was done by a small number of people worldwide on a fairly wide variety of machines, involving self-compilation in most or all cases. Beta testing has been done primarily via self-compilation, but in more and more cases, cross-compilation (and "criss-cross compilation", where a version of a compiler is built on one machine to run on a second and generate code that runs on a third) has been tried and has succeeded, to varying extents. Generally, `g77' can be ported to any configuration to which `gcc', `f2c', and `libf2c' can be ported and made to work together, aside from the known problems described in this manual. If you want to port `g77' to a particular configuration, you should first make sure `gcc' and `libf2c' can be ported to that configuration before focusing on `g77', because `g77' is so dependent on them. Even for cases where `gcc' and `libf2c' work, you might run into problems with cross-compilation on certain machines, for several reasons. * There is one known bug (a design bug to be fixed in 0.6) that prevents configuration of `g77' as a cross-compiler in some cases, though there are assumptions made during configuration that probably make doing non-self-hosting builds a hassle, requiring manual intervention. * `gcc' might still have some trouble being configured for certain combinations of machines. For example, it might not know how to handle floating-point constants. * Improvements to the way `libg2c' is built could make building `g77' as a cross-compiler easier--for example, passing and using `$(LD)' and `$(AR)' in the appropriate ways. (This is improved in the `egcs' version of `g77', especially as of version 1.1.) * There are still some challenges putting together the right run-time libraries (needed by `libg2c') for a target system, depending on the systems involved in the configuration. (This is a general problem with cross-compilation, and with `gcc' in particular.) automatically generated by info2www version 1.2.2.9 |