84
4.17. Hardware Models and Configurations
Earlier we discussed the standard option
completely different target machines, such as 68000 vs. 80386.
In addition, each of these target machine types can have its own special options, starting with
to choose among various hardware models or configurations--for example, 68010 vs 68020, float-
ing coprocessor or none. A single installed version of the compiler can compile for any model or
configuration, according to the options specified.
Some configurations of the compiler also support additional special options, usually for compatibility
with other compilers on the same platform.
These options are defined by the macro
for the options is also defined by that macro, which enables you to change the defaults.
4.17.1. SPARC Options
These
switches are supported on the SPARC:
-m
,
-mno-app-regs
-mapp-regs
Specify
-mapp-regs
SVR4 ABI reserves for applications. This is the default.
To be fully SVR4 ABI compliant at the cost of some performance loss, specify
You should compile libraries and system software with this option.
,
-mfpu
-mhard-float
Generate output containing floating point instructions. This is the default.
,
-mno-fpu
-msoft-float
Generate output containing library calls for floating point. Warning: the requisite libraries are
not available for all SPARC targets. Normally the facilities of the machine's usual C compiler
are used, but this cannot be done directly in cross-compilation. You must make your own ar-
rangements to provide suitable library functions for cross-compilation. The embedded targets
sparc-*-aout
-msoft-float
you compile all of a program with this option. In particular, you need to compile
library that comes with GCC, with
-mhard-quad-float
Generate output containing quad-word (long double) floating point instructions.
-msoft-quad-float
Generate output containing library calls for quad-word (long double) floating point instructions.
The functions called are those specified in the SPARC ABI. This is the default.
As of this writing, there are no sparc implementations that have hardware support for the quad-
word floating point instructions. They all invoke a trap handler for one of these instructions, and
then the trap handler emulates the effect of the instruction. Because of the trap handler overhead,
this is much slower than calling the ABI library routines. Thus the
is the default.
-b
TARGET_SWITCHES
to generate output using the global registers 2 through 4, which the SPARC
and
sparclite-*-*
changes the calling convention in the output file; therefore, it is only useful if
-msoft-float
Chapter 4. GCC Command Options
which chooses among different installed compilers for
in the machine description. The default
do provide software floating point support.
in order for this to work.
-mno-app-regs
libgcc.a
-msoft-quad-float
,
-m
.
, the
option
Need help?
Do you have a question about the ENTERPRISE LINUX 3 - USING GCC and is the answer not in the manual?
Questions and answers