Red Hat ENTERPRISE LINUX 4 Manual page 114

Hide thumbs Also See for ENTERPRISE LINUX 4:
Table of Contents

Advertisement

106
The usual calling convention has functions return values of types
register, even if there is no FPU. The idea is that the operating system should emulate an FPU.
The option
-mno-fp-ret-in-387
instead.
-mno-fancy-math-387
Some 387 emulators do not support the
option to avoid generating those instructions. This option is the default on FreeBSD, OpenBSD
and NetBSD. This option is overridden when
have an FPU and so the instruction will not need emulation. As of revision 2.6.1, these instruc-
tions are not generated unless you also use the
-malign-double
-mno-align-double
Control whether GCC aligns
boundary or a one word boundary. Aligning
produce code that runs somewhat faster on a
Warning: if you use the
aligned differently than the published application binary interface specifications for the 386 and
will not be binary compatible with structures in code compiled without that switch.
-m96bit-long-double
-m128bit-long-double
These switches control the size of
specifies the size to be 96 bits, so
Modern architectures (Pentium and newer) would prefer
or 16 byte boundary. In arrays or structures conforming to the ABI, this would not be possible.
So specifying a
padding the
long double
In the x86-64 compiler,
is to be aligned on 16 byte boundary.
long double
Notice that neither of these options enable any extra precision over the x87 standard of 80 bits
for a
long double
Warning: if you override the default value for your target ABI, the structures and arrays con-
taining
long double
function taking
arrays or structures in code compiled without that switch.
-msvr3-shlib
-mno-svr3-shlib
Control whether GCC places uninitialized local variables into the
-msvr3-shlib
3.
-mrtd
Use a different function-calling convention, in which functions that take a fixed number of ar-
guments return with the
saves one instruction in the caller since there is no need to pop the arguments there.
You can specify that an individual function is called with this calling sequence with the function
attribute
stdcall
Section 6.25 Declaring Attributes of Functions.
causes such values to be returned in ordinary CPU registers
double
-malign-double
long double
-m96bit-long-double
-m128bit-long-double
with an additional 32 bit zero.
-m128bit-long-double
.
variables will change their size as well as function calling convention for
will be modified. Hence they will not be binary compatible with
long double
places them into
bss
instruction, which pops their arguments while returning. This
ret num
. You can also override the
Chapter 4. GCC Command Options
,
and
sin
cos
sqrt
indicates that the target cpu will always
-march
-funsafe-math-optimizations
,
, and
long double
variables on a two word boundary will
double
at the expense of more memory.
Pentium
switch, structures containing the above types will be
type. The i386 application binary interface
will align
long double
is the default choice as its ABI specifies that
. These options are meaningful only on System V Release
option by using the function attribute
-mrtd
and
float
double
instructions for the 387. Specify this
variables on a two word
long long
is the default in 32 bit mode.
to be aligned to an 8
long double
to a 16 byte boundary by
or
bss
in an FPU
switch.
segments.
data
.
cdecl

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ENTERPRISE LINUX 4 and is the answer not in the manual?

Table of Contents