📄 0196-0197.html
字号:
<HTML>
<HEAD>
<TITLE>Linux Complete Command Reference:User Commands:EarthWeb Inc.-</TITLE>
</HEAD>
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
<SCRIPT>
<!--
function displayWindow(url, width, height) {
var Win = window.open(url,"displayWindow",'width=' + width +
',height=' + height + ',resizable=1,scrollbars=yes');
}
//-->
</SCRIPT>
</HEAD>
-->
<!-- ISBN=0672311046 //-->
<!-- TITLE=Linux Complete Command Reference//-->
<!-- AUTHOR=Red Hat//-->
<!-- PUBLISHER=Macmillan Computer Publishing//-->
<!-- IMPRINT=Sams//-->
<!-- CHAPTER=01 //-->
<!-- PAGES=0001-0736 //-->
<!-- UNASSIGNED1 //-->
<!-- UNASSIGNED2 //-->
<P><CENTER>
<a href="0195-0195.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0198-0199.html">Next</A></CENTER></P>
<A NAME="PAGENUM-196"><P>Page 196</P></A>
<P>
<P>
<P>
<P>
<CENTER>
<TABLE BGCOLOR="#FFFF99">
<TR><TD><B>
WARNING
</B></TD></TR>
<TR><TD>
<BLOCKQUOTE>
The requisite libraries are not part of GNU CC. Normally, the facilities of the machine's usual C compiler are used,
but this can't be done directly in cross-compilation. You must make your own arrangements to provide suitable library
functions for cross-compilation.
</BLOCKQUOTE></TD></TR>
</TABLE></CENTER>
</P>
_mhard_float
<C>
Generate output containing floating point instructions. This is the default if you use
the unmodified sources.
<C>
_mfp64
<C>
Assume that the FR bit in the status word is on, and that there are 32 64-bit
floating-point registers, instead of 32 32-bit floating-point registers. You must also specify the
_mcpu=r4000 and _mips3 switches.
<C>
_mfp32
<C>
Assume that there are 32 32-bit floating-point registers. This is the default.
<C>
_mabicalls
<C>
Emit (or do not emit) the
.abicalls, .cpload, and .cprestore pseudo operations that some
<C>
_mno_abicalls
<C>
System V.4 ports use for position-independent code.
<C>
_mhalf_pic
<C>
The _mhalf_pic switch says to put pointers to extern references into the data section and load
<C>
_mno_half_pic
<C>
them up, rather than put the references in the text section. This option does not work
at present.
<C>
_Gnum
<C>
Put global and static items less than or equal to
num bytes into the small data or bss sections instead of the normal data or
bss section. This allows the assembler to emit one-word
memory reference instructions based on the global pointer
(gp or $28), instead of the normal two words used. By default,
num is 8 when the MIPS assembler is used, and 0 when the GNU assembler
is used. The _Gnum switch is also passed to the assembler and linker. All modules should
be compiled with the same _Gnum value.
<C>
_nocpp
<C>
Tell the MIPS assembler to not run its preprocessor over user assembler files (with an
.s suffix) when assembling them.
</TBL>
<P>These _m options are defined for the Intel 80386 family of computers:
</P>
<TABLE>
<TR><TD>
_m486, _mno_486
</TD><TD>
Control whether or not code is optimized for a 486 instead of a 386. Code generated for a
486 will run on a 386 and vice versa.
</TD></TR><TR><TD>
_msoft_float
</TD><TD>
Generate output containing library calls for floating point.
<P>
<P>
<P>
<P>
<CENTER>
<TABLE BGCOLOR="#FFFF99">
<TR><TD><B>
WARNING
</B></TD></TR>
<TR><TD>
<BLOCKQUOTE>
The requisite libraries are not part of GNU CC. Normally, the facilities of the machine's usual C compiler are used,
but this can't be done directly in cross-compilation. You must make your own arrangements to provide suitable library
functions for cross-compilation.
</BLOCKQUOTE></TD></TR>
</TABLE></CENTER>
</P>
On machines where a function returns floating point results in the 80387 register stack,
some floating-point opcodes may be emitted even if
_msoft-float is used.
</TD></TR><TR><TD>
_mno-fp-ret-in-387
</TD><TD>
Do not use the FPU registers for return values of functions.<BR>
The usual calling convention has functions return values of types float and double in an
FPU register, even if there is no FPU. The idea is that the operating system should emulate an FPU.<BR>
The option _mno-fp-ret-in-387 causes such values to be returned in ordinary CPU
registers instead.
</TD></TR></TABLE>
<P>These _m options are defined for the HPPA family of computers:
</P>
<TABLE>
<TR><TD>
_mpa-risc-1-0
</TD><TD>
Generate code for a PA 1.0 processor.
</TD></TR><TR><TD>
_mpa-risc-1-1
</TD><TD>
Generate code for a PA 1.1 processor.
</TD></TR></TABLE>
<A NAME="PAGENUM-197"><P>Page 197</P></A>
<TABLE>
<TR><TD>
_mkernel
</TD><TD>
Generate code which is suitable for use in kernels. Specifically, avoid
add instructions in which one of the arguments is the DP register; generate
addil instructions instead. This avoids a rather serious bug in the HP-UX linker.
</TD></TR><TR><TD>
_mshared-libs
</TD><TD>
Generate code that can be linked against HP-UX shared libraries. This option is not
fully functioning yet, and is not on by default for any PA target. Using this option can
cause incorrect code to be generated by the compiler.
</TD></TR><TR><TD>
_mno-shared-libs
</TD><TD>
Don't generate code that will be linked against shared libraries. This is the default for all
PA targets.
</TD></TR><TR><TD>
_mlong-calls
</TD><TD>
Generate code which allows calls to functions greater than 256K away from the caller when
the caller and callee are in the same source file. Do not turn this option on unless code refuses
to link with branch out of range errors from the linker.
</TD></TR><TR><TD>
_mdisable-fpregs
</TD><TD>
Prevent floating-point registers from being used in any manner. This is necessary for
compiling kernels that perform lazy context switching of floating-point registers. If you use this
option and attempt to perform floating-point operations, the compiler will abort.
</TD></TR><TR><TD>
_mdisable-indexing
</TD><TD>
Prevent the compiler from using indexing address modes. This avoids some rather
obscure problems when compiling MIG-generated code under MACH.
</TD></TR><TR><TD>
_mtrailing-colon
</TD><TD>
Add a colon to the end of label definitions (for ELF assemblers).
</TD></TR></TABLE>
<P>These _m options are defined for the Intel 80960 family of computers:
</P>
<TABLE>
<TR><TD>
_mcpu-type
</TD><TD>
Assume the defaults for the machine type
cpu-type for instruction and addressing-mode availability and alignment. The default
cpu-type is kb; other choices are ka, mc, ca, cf,
sa, and sb.
</TD></TR><TR><TD>
_mnumerics
</TD><TD>
The _mnumerics option indicates that the processor does support floating-point instructions.
</TD></TR><TR><TD>
_msoft_float
</TD><TD>
The _msoft_float option indicates that floating-point support should not be assumed.
</TD></TR><TR><TD>
_mleaf_procedures
</TD><TD>
Do (or do not) attempt to alter leaf procedures to be callable with the
bal instruction as well as
</TD></TR><TR><TD>
_mno_leaf_procedures
</TD><TD>
call. This will result in more efficient code for explicit calls when the
bal instruction can be substituted by the assembler or linker, but less efficient code in other cases, such as calls
via function pointers, or using a linker that doesn't support this optimization.
</TD></TR><TR><TD>
_mtail_call
</TD><TD>
Do (or do not) make additional attempts (beyond those of the machine-independent portions
</TD></TR><TR><TD>
_mno_tail_call
</TD><TD>
of the compiler) to optimize tail-recursive calls into branches. You may not want to do
this because the detection of cases where this is not valid is not totally complete. The default is <BR>
_mno_tail_call.
</TD></TR><TR><TD>
_mcomplex_addr
</TD><TD>
Assume (or do not assume) that the use of a complex addressing mode is a win on this imple-
</TD></TR><TR><TD>
_mno_complex_addr
</TD><TD>
mentation of the i960. Complex addressing modes may not be worthwhile on the K-series,
but they definitely are on the C-series. The default is currently
_mcomplex_addr for all processors except the CB and CC.
</TD></TR><TR><TD>
_mcode_align
</TD><TD>
Align code to 8-byte boundaries for faster fetching (or don't bother). Currently turned on by
</TD></TR><TR><TD>
_mno_code_align
</TD><TD>
default for C-series implementations only.
</TD></TR><TR><TD>
_mic_compat
</TD><TD>
Enable compatibility with iC960 v2.0 or v3.0.
</TD></TR><TR><TD>_
mic2.0_compat<BR>
_mic3.0_compat<BR>
_masm_compat
</TD><TD>
Enable compatibility with the iC960 assembler.
</TD></TR><TR><TD>
_mintel_asm<BR>
_mstrict_align
</TD><TD>
Do not permit (do permit) unaligned accesses.
</TD></TR><TR><TD>
_mno_strict_align
_mold_align
</TD><TD>
Enable structure-alignment compatibility with Intel's
gcc release version 1.3 (based on gcc 1.37). Currently this is buggy in that
#pragma align 1 is always assumed as well, and cannot
be turned off.
</TD></TR></TABLE>
<P><CENTER>
<a href="0195-0195.html">Previous</A> | <a href="../ewtoc.html">Table of Contents</A> | <a href="0198-0199.html">Next</A></CENTER></P>
</td>
</tr>
</table>
<!-- begin footer information -->
</body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -