You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

127 lines
6.2KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- This file documents the GNU linker LD
  4. (GNU Arm Embedded Toolchain 10-2020-q4-major)
  5. version 2.35.1.
  6. Copyright (C) 1991-2020 Free Software Foundation, Inc.
  7. Permission is granted to copy, distribute and/or modify this document
  8. under the terms of the GNU Free Documentation License, Version 1.3
  9. or any later version published by the Free Software Foundation;
  10. with no Invariant Sections, with no Front-Cover Texts, and with no
  11. Back-Cover Texts. A copy of the license is included in the
  12. section entitled "GNU Free Documentation License". -->
  13. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  14. <head>
  15. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  16. <title>Format Commands (LD)</title>
  17. <meta name="description" content="Format Commands (LD)">
  18. <meta name="keywords" content="Format Commands (LD)">
  19. <meta name="resource-type" content="document">
  20. <meta name="distribution" content="global">
  21. <meta name="Generator" content="makeinfo">
  22. <link href="index.html#Top" rel="start" title="Top">
  23. <link href="LD-Index.html#LD-Index" rel="index" title="LD Index">
  24. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  25. <link href="Simple-Commands.html#Simple-Commands" rel="up" title="Simple Commands">
  26. <link href="REGION_005fALIAS.html#REGION_005fALIAS" rel="next" title="REGION_ALIAS">
  27. <link href="File-Commands.html#File-Commands" rel="prev" title="File Commands">
  28. <style type="text/css">
  29. <!--
  30. a.summary-letter {text-decoration: none}
  31. blockquote.indentedblock {margin-right: 0em}
  32. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  33. blockquote.smallquotation {font-size: smaller}
  34. div.display {margin-left: 3.2em}
  35. div.example {margin-left: 3.2em}
  36. div.lisp {margin-left: 3.2em}
  37. div.smalldisplay {margin-left: 3.2em}
  38. div.smallexample {margin-left: 3.2em}
  39. div.smalllisp {margin-left: 3.2em}
  40. kbd {font-style: oblique}
  41. pre.display {font-family: inherit}
  42. pre.format {font-family: inherit}
  43. pre.menu-comment {font-family: serif}
  44. pre.menu-preformatted {font-family: serif}
  45. pre.smalldisplay {font-family: inherit; font-size: smaller}
  46. pre.smallexample {font-size: smaller}
  47. pre.smallformat {font-family: inherit; font-size: smaller}
  48. pre.smalllisp {font-size: smaller}
  49. span.nolinebreak {white-space: nowrap}
  50. span.roman {font-family: initial; font-weight: normal}
  51. span.sansserif {font-family: sans-serif; font-weight: normal}
  52. ul.no-bullet {list-style: none}
  53. -->
  54. </style>
  55. </head>
  56. <body lang="en">
  57. <a name="Format-Commands"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="REGION_005fALIAS.html#REGION_005fALIAS" accesskey="n" rel="next">REGION_ALIAS</a>, Previous: <a href="File-Commands.html#File-Commands" accesskey="p" rel="prev">File Commands</a>, Up: <a href="Simple-Commands.html#Simple-Commands" accesskey="u" rel="up">Simple Commands</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LD-Index.html#LD-Index" title="Index" rel="index">Index</a>]</p>
  61. </div>
  62. <hr>
  63. <a name="Commands-Dealing-with-Object-File-Formats"></a>
  64. <h4 class="subsection">3.4.3 Commands Dealing with Object File Formats</h4>
  65. <p>A couple of linker script commands deal with object file formats.
  66. </p>
  67. <dl compact="compact">
  68. <dt><code>OUTPUT_FORMAT(<var>bfdname</var>)</code></dt>
  69. <dt><code>OUTPUT_FORMAT(<var>default</var>, <var>big</var>, <var>little</var>)</code></dt>
  70. <dd><a name="index-OUTPUT_005fFORMAT_0028bfdname_0029"></a>
  71. <a name="index-output-file-format-in-linker-script"></a>
  72. <p>The <code>OUTPUT_FORMAT</code> command names the BFD format to use for the
  73. output file (see <a href="BFD.html#BFD">BFD</a>). Using <code>OUTPUT_FORMAT(<var>bfdname</var>)</code> is
  74. exactly like using &lsquo;<samp>--oformat <var>bfdname</var></samp>&rsquo; on the command line
  75. (see <a href="Options.html#Options">Command-line Options</a>). If both are used, the command
  76. line option takes precedence.
  77. </p>
  78. <p>You can use <code>OUTPUT_FORMAT</code> with three arguments to use different
  79. formats based on the &lsquo;<samp>-EB</samp>&rsquo; and &lsquo;<samp>-EL</samp>&rsquo; command-line options.
  80. This permits the linker script to set the output format based on the
  81. desired endianness.
  82. </p>
  83. <p>If neither &lsquo;<samp>-EB</samp>&rsquo; nor &lsquo;<samp>-EL</samp>&rsquo; are used, then the output format
  84. will be the first argument, <var>default</var>. If &lsquo;<samp>-EB</samp>&rsquo; is used, the
  85. output format will be the second argument, <var>big</var>. If &lsquo;<samp>-EL</samp>&rsquo; is
  86. used, the output format will be the third argument, <var>little</var>.
  87. </p>
  88. <p>For example, the default linker script for the MIPS ELF target uses this
  89. command:
  90. </p><div class="smallexample">
  91. <pre class="smallexample">OUTPUT_FORMAT(elf32-bigmips, elf32-bigmips, elf32-littlemips)
  92. </pre></div>
  93. <p>This says that the default format for the output file is
  94. &lsquo;<samp>elf32-bigmips</samp>&rsquo;, but if the user uses the &lsquo;<samp>-EL</samp>&rsquo; command-line
  95. option, the output file will be created in the &lsquo;<samp>elf32-littlemips</samp>&rsquo;
  96. format.
  97. </p>
  98. </dd>
  99. <dt><code>TARGET(<var>bfdname</var>)</code></dt>
  100. <dd><a name="index-TARGET_0028bfdname_0029"></a>
  101. <a name="index-input-file-format-in-linker-script"></a>
  102. <p>The <code>TARGET</code> command names the BFD format to use when reading input
  103. files. It affects subsequent <code>INPUT</code> and <code>GROUP</code> commands.
  104. This command is like using &lsquo;<samp>-b <var>bfdname</var></samp>&rsquo; on the command line
  105. (see <a href="Options.html#Options">Command-line Options</a>). If the <code>TARGET</code> command
  106. is used but <code>OUTPUT_FORMAT</code> is not, then the last <code>TARGET</code>
  107. command is also used to set the format for the output file. See <a href="BFD.html#BFD">BFD</a>.
  108. </p></dd>
  109. </dl>
  110. <hr>
  111. <div class="header">
  112. <p>
  113. Next: <a href="REGION_005fALIAS.html#REGION_005fALIAS" accesskey="n" rel="next">REGION_ALIAS</a>, Previous: <a href="File-Commands.html#File-Commands" accesskey="p" rel="prev">File Commands</a>, Up: <a href="Simple-Commands.html#Simple-Commands" accesskey="u" rel="up">Simple Commands</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LD-Index.html#LD-Index" title="Index" rel="index">Index</a>]</p>
  114. </div>
  115. </body>
  116. </html>