-->
Page 196
WARNING |
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. |
These _m options are defined for the Intel 80386 family of computers:
_m486, _mno_486 | 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. | ||
_msoft_float |
Generate output containing library calls for floating point.
| ||
_mno-fp-ret-in-387 |
Do not use the FPU registers for return values of functions. 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. The option _mno-fp-ret-in-387 causes such values to be returned in ordinary CPU registers instead. |
These _m options are defined for the HPPA family of computers:
_mpa-risc-1-0 | Generate code for a PA 1.0 processor. |
_mpa-risc-1-1 | Generate code for a PA 1.1 processor. |
Page 197
_mkernel | 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. |
_mshared-libs | 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. |
_mno-shared-libs | Don't generate code that will be linked against shared libraries. This is the default for all PA targets. |
_mlong-calls | 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. |
_mdisable-fpregs | 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. |
_mdisable-indexing | Prevent the compiler from using indexing address modes. This avoids some rather obscure problems when compiling MIG-generated code under MACH. |
_mtrailing-colon | Add a colon to the end of label definitions (for ELF assemblers). |
These _m options are defined for the Intel 80960 family of computers:
_mcpu-type | 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. |
_mnumerics | The _mnumerics option indicates that the processor does support floating-point instructions. |
_msoft_float | The _msoft_float option indicates that floating-point support should not be assumed. |
_mleaf_procedures | Do (or do not) attempt to alter leaf procedures to be callable with the bal instruction as well as |
_mno_leaf_procedures | 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. |
_mtail_call | Do (or do not) make additional attempts (beyond those of the machine-independent portions |
_mno_tail_call |
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 _mno_tail_call. |
_mcomplex_addr | Assume (or do not assume) that the use of a complex addressing mode is a win on this imple- |
_mno_complex_addr | 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. |
_mcode_align | Align code to 8-byte boundaries for faster fetching (or don't bother). Currently turned on by |
_mno_code_align | default for C-series implementations only. |
_mic_compat | Enable compatibility with iC960 v2.0 or v3.0. |
_
mic2.0_compat _mic3.0_compat _masm_compat | Enable compatibility with the iC960 assembler. |
_mintel_asm _mstrict_align | Do not permit (do permit) unaligned accesses. |
_mno_strict_align _mold_align | 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. |