📄 m680x0-options.html
字号:
<html lang="en"><head><title>Using the GNU Compiler Collection (GCC)</title><meta http-equiv="Content-Type" content="text/html"><meta name="description" content="Using the GNU Compiler Collection (GCC)"><meta name="generator" content="makeinfo 4.6"><!--Copyright © 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. <p>Permission is granted to copy, distribute and/or modify this documentunder the terms of the GNU Free Documentation License, Version 1.2 orany later version published by the Free Software Foundation; with theInvariant Sections being "GNU General Public License" and "FundingFree Software", the Front-Cover texts being (a) (see below), and withthe Back-Cover Texts being (b) (see below). A copy of the license isincluded in the section entitled "GNU Free Documentation License". <p>(a) The FSF's Front-Cover Text is: <p>A GNU Manual <p>(b) The FSF's Back-Cover Text is: <p>You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development.--><meta http-equiv="Content-Style-Type" content="text/css"><style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller }--></style></head><body><div class="node"><p>Node: <a name="M680x0%20Options">M680x0 Options</a>,Next: <a rel="next" accesskey="n" href="M68hc1x-Options.html#M68hc1x%20Options">M68hc1x Options</a>,Up: <a rel="up" accesskey="u" href="Submodel-Options.html#Submodel%20Options">Submodel Options</a><hr><br></div><h3 class="subsection">M680x0 Options</h4><p>These are the <code>-m</code> options defined for the 68000 series. The defaultvalues for these options depends on which style of 68000 was selected whenthe compiler was configured; the defaults for the most common choices aregiven below. <dl><dt><code>-m68000</code> <dd><dt><code>-mc68000</code> <dd>Generate output for a 68000. This is the defaultwhen the compiler is configured for 68000-based systems. <p>Use this option for microcontrollers with a 68000 or EC000 core,including the 68008, 68302, 68306, 68307, 68322, 68328 and 68356. <br><dt><code>-m68020</code> <dd><dt><code>-mc68020</code> <dd>Generate output for a 68020. This is the defaultwhen the compiler is configured for 68020-based systems. <br><dt><code>-m68881</code> <dd>Generate output containing 68881 instructions for floating point. This is the default for most 68020 systems unless <code>--nfp</code> wasspecified when the compiler was configured. <br><dt><code>-m68030</code> <dd>Generate output for a 68030. This is the default when the compiler isconfigured for 68030-based systems. <br><dt><code>-m68040</code> <dd>Generate output for a 68040. This is the default when the compiler isconfigured for 68040-based systems. <p>This option inhibits the use of 68881/68882 instructions that have to beemulated by software on the 68040. Use this option if your 68040 does nothave code to emulate those instructions. <br><dt><code>-m68060</code> <dd>Generate output for a 68060. This is the default when the compiler isconfigured for 68060-based systems. <p>This option inhibits the use of 68020 and 68881/68882 instructions thathave to be emulated by software on the 68060. Use this option if your 68060does not have code to emulate those instructions. <br><dt><code>-mcpu32</code> <dd>Generate output for a CPU32. This is the defaultwhen the compiler is configured for CPU32-based systems. <p>Use this option for microcontrollers with aCPU32 or CPU32+ core, including the 68330, 68331, 68332, 68333, 68334,68336, 68340, 68341, 68349 and 68360. <br><dt><code>-m5200</code> <dd>Generate output for a 520X "coldfire" family cpu. This is the defaultwhen the compiler is configured for 520X-based systems. <p>Use this option for microcontroller with a 5200 core, includingthe MCF5202, MCF5203, MCF5204 and MCF5202. <br><dt><code>-m68020-40</code> <dd>Generate output for a 68040, without using any of the new instructions. This results in code which can run relatively efficiently on either a68020/68881 or a 68030 or a 68040. The generated code does use the68881 instructions that are emulated on the 68040. <br><dt><code>-m68020-60</code> <dd>Generate output for a 68060, without using any of the new instructions. This results in code which can run relatively efficiently on either a68020/68881 or a 68030 or a 68040. The generated code does use the68881 instructions that are emulated on the 68060. <br><dt><code>-msoft-float</code> <dd>Generate output containing library calls for floating point. <strong>Warning:</strong> the requisite libraries are not available for all m68ktargets. Normally the facilities of the machine's usual C compiler areused, but this can't be done directly in cross-compilation. You mustmake your own arrangements to provide suitable library functions forcross-compilation. The embedded targets <code>m68k-*-aout</code> and<code>m68k-*-coff</code> do provide software floating point support. <br><dt><code>-mshort</code> <dd>Consider type <code>int</code> to be 16 bits wide, like <code>short int</code>. <br><dt><code>-mnobitfield</code> <dd>Do not use the bit-field instructions. The <code>-m68000</code>, <code>-mcpu32</code>and <code>-m5200</code> options imply <code>-mnobitfield</code>. <br><dt><code>-mbitfield</code> <dd>Do use the bit-field instructions. The <code>-m68020</code> option implies<code>-mbitfield</code>. This is the default if you use a configurationdesigned for a 68020. <br><dt><code>-mrtd</code> <dd>Use a different function-calling convention, in which functionsthat take a fixed number of arguments return with the <code>rtd</code>instruction, which pops their arguments while returning. Thissaves one instruction in the caller since there is no need to popthe arguments there. <p>This calling convention is incompatible with the one normallyused on Unix, so you cannot use it if you need to call librariescompiled with the Unix compiler. <p>Also, you must provide function prototypes for all functions thattake variable numbers of arguments (including <code>printf</code>);otherwise incorrect code will be generated for calls to thosefunctions. <p>In addition, seriously incorrect code will result if you call afunction with too many arguments. (Normally, extra arguments areharmlessly ignored.) <p>The <code>rtd</code> instruction is supported by the 68010, 68020, 68030,68040, 68060 and CPU32 processors, but not by the 68000 or 5200. <br><dt><code>-malign-int</code> <dd><dt><code>-mno-align-int</code> <dd>Control whether GCC aligns <code>int</code>, <code>long</code>, <code>long long</code>,<code>float</code>, <code>double</code>, and <code>long double</code> variables on a 32-bitboundary (<code>-malign-int</code>) or a 16-bit boundary (<code>-mno-align-int</code>). Aligning variables on 32-bit boundaries produces code that runs somewhatfaster on processors with 32-bit busses at the expense of more memory. <p><strong>Warning:</strong> if you use the <code>-malign-int</code> switch, GCC willalign structures containing the above types differently thanmost published application binary interface specifications for the m68k. <br><dt><code>-mpcrel</code> <dd>Use the pc-relative addressing mode of the 68000 directly, instead ofusing a global offset table. At present, this option implies <code>-fpic</code>,allowing at most a 16-bit offset for pc-relative addressing. <code>-fPIC</code> isnot presently supported with <code>-mpcrel</code>, though this could be supported for68020 and higher processors. <br><dt><code>-mno-strict-align</code> <dd><dt><code>-mstrict-align</code> <dd>Do not (do) assume that unaligned memory references will be handled bythe system. <br><dt><code>-msep-data</code> <dd>Generate code that allows the data segment to be located in a differentarea of memory from the text segment. This allows for execute in place inan environment without virtual memory management. This option implies -fPIC. <br><dt><code>-mno-sep-data</code> <dd>Generate code that assumes that the data segment follows the text segment. This is the default. <br><dt><code>-mid-shared-library</code> <dd>Generate code that supports shared libraries via the library ID method. This allows for execute in place and shared libraries in an environmentwithout virtual memory management. This option implies -fPIC. <br><dt><code>-mno-id-shared-library</code> <dd>Generate code that doesn't assume ID based shared libraries are being used. This is the default. <br><dt><code>-mshared-library-id=n</code> <dd>Specified the identification number of the ID based shared library beingcompiled. Specifying a value of 0 will generate more compact code, specifyingother values will force the allocation of that number to the currentlibrary but is no more space or time efficient than omitting this option. </dl> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -