⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m680x0-options.html

📁 gcc手册
💻 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.3">

<link href="http://www.gnu.org/software/texinfo/" rel="generator-home">

<!--

Copyright &copy; 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998,

1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.



   <p>Permission is granted to copy, distribute and/or modify this document

under the terms of the GNU Free Documentation License, Version 1.2 or

any later version published by the Free Software Foundation; with the

Invariant Sections being "GNU General Public License" and "Funding

Free Software", the Front-Cover texts being (a) (see below), and with

the Back-Cover Texts being (b) (see below).  A copy of the license is

included 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.-->

</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>



<h4 class="subsection">M680x0 Options</h4>



   <p>These are the <code>-m</code> options defined for the 68000 series.  The default

values for these options depends on which style of 68000 was selected when

the compiler was configured; the defaults for the most common choices are

given below.



     <dl>

<dt><code>-m68000</code>

     <dd><dt><code>-mc68000</code>

     <dd>Generate output for a 68000.  This is the default

when 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 default

when 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> was

specified when the compiler was configured.



     <br><dt><code>-m68030</code>

     <dd>Generate output for a 68030.  This is the default when the compiler is

configured for 68030-based systems.



     <br><dt><code>-m68040</code>

     <dd>Generate output for a 68040.  This is the default when the compiler is

configured for 68040-based systems.



     <p>This option inhibits the use of 68881/68882 instructions that have to be

emulated by software on the 68040.  Use this option if your 68040 does not

have code to emulate those instructions.



     <br><dt><code>-m68060</code>

     <dd>Generate output for a 68060.  This is the default when the compiler is

configured for 68060-based systems.



     <p>This option inhibits the use of 68020 and 68881/68882 instructions that

have to be emulated by software on the 68060.  Use this option if your 68060

does not have code to emulate those instructions.



     <br><dt><code>-mcpu32</code>

     <dd>Generate output for a CPU32.  This is the default

when the compiler is configured for CPU32-based systems.



     <p>Use this option for microcontrollers with a

CPU32 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 default

when the compiler is configured for 520X-based systems.



     <p>Use this option for microcontroller with a 5200 core, including

the 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 a

68020/68881 or a 68030 or a 68040.  The generated code does use the

68881 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 a

68020/68881 or a 68030 or a 68040.  The generated code does use the

68881 instructions that are emulated on the 68060.



     <br><dt><code>-mfpa</code>

     <dd>Generate output containing Sun FPA instructions for floating point.



     <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 m68k

targets.  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.  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 configuration

designed for a 68020.



     <br><dt><code>-mrtd</code>

     <dd>Use a different function-calling convention, in which functions

that take a fixed number of arguments return with the <code>rtd</code>

instruction, which pops their arguments while returning.  This

saves one instruction in the caller since there is no need to pop

the arguments there.



     <p>This calling convention is incompatible with the one normally

used on Unix, so you cannot use it if you need to call libraries

compiled with the Unix compiler.



     <p>Also, you must provide function prototypes for all functions that

take variable numbers of arguments (including <code>printf</code>);

otherwise incorrect code will be generated for calls to those

functions.



     <p>In addition, seriously incorrect code will result if you call a

function with too many arguments.  (Normally, extra arguments are

harmlessly 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-bit

boundary (<code>-malign-int</code>) or a 16-bit boundary (<code>-mno-align-int</code>). 

Aligning variables on 32-bit boundaries produces code that runs somewhat

faster 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 will

align structures containing the above types  differently than

most 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 of

using 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> is

not presently supported with <code>-mpcrel</code>, though this could be supported for

68020 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 by

the system.



   </dl>



   </body></html>



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -