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.

116 lines
5.9KB

  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>Output Section Discarding (LD)</title>
  17. <meta name="description" content="Output Section Discarding (LD)">
  18. <meta name="keywords" content="Output Section Discarding (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="SECTIONS.html#SECTIONS" rel="up" title="SECTIONS">
  26. <link href="Output-Section-Attributes.html#Output-Section-Attributes" rel="next" title="Output Section Attributes">
  27. <link href="Output-Section-Keywords.html#Output-Section-Keywords" rel="prev" title="Output Section Keywords">
  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="Output-Section-Discarding"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Output-Section-Attributes.html#Output-Section-Attributes" accesskey="n" rel="next">Output Section Attributes</a>, Previous: <a href="Output-Section-Keywords.html#Output-Section-Keywords" accesskey="p" rel="prev">Output Section Keywords</a>, Up: <a href="SECTIONS.html#SECTIONS" accesskey="u" rel="up">SECTIONS</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="Output-Section-Discarding-1"></a>
  64. <h4 class="subsection">3.6.7 Output Section Discarding</h4>
  65. <a name="index-discarding-sections"></a>
  66. <a name="index-sections_002c-discarding"></a>
  67. <a name="index-removing-sections"></a>
  68. <p>The linker will not normally create output sections with no contents.
  69. This is for convenience when referring to input sections that may or
  70. may not be present in any of the input files. For example:
  71. </p><div class="smallexample">
  72. <pre class="smallexample">.foo : { *(.foo) }
  73. </pre></div>
  74. <p>will only create a &lsquo;<samp>.foo</samp>&rsquo; section in the output file if there is a
  75. &lsquo;<samp>.foo</samp>&rsquo; section in at least one input file, and if the input
  76. sections are not all empty. Other link script directives that allocate
  77. space in an output section will also create the output section. So
  78. too will assignments to dot even if the assignment does not create
  79. space, except for &lsquo;<samp>. = 0</samp>&rsquo;, &lsquo;<samp>. = . + 0</samp>&rsquo;, &lsquo;<samp>. = sym</samp>&rsquo;,
  80. &lsquo;<samp>. = . + sym</samp>&rsquo; and &lsquo;<samp>. = ALIGN (. != 0, expr, 1)</samp>&rsquo; when
  81. &lsquo;<samp>sym</samp>&rsquo; is an absolute symbol of value 0 defined in the script.
  82. This allows you to force output of an empty section with &lsquo;<samp>. = .</samp>&rsquo;.
  83. </p>
  84. <p>The linker will ignore address assignments (see <a href="Output-Section-Address.html#Output-Section-Address">Output Section Address</a>)
  85. on discarded output sections, except when the linker script defines
  86. symbols in the output section. In that case the linker will obey
  87. the address assignments, possibly advancing dot even though the
  88. section is discarded.
  89. </p>
  90. <a name="index-_002fDISCARD_002f"></a>
  91. <p>The special output section name &lsquo;<samp>/DISCARD/</samp>&rsquo; may be used to discard
  92. input sections. Any input sections which are assigned to an output
  93. section named &lsquo;<samp>/DISCARD/</samp>&rsquo; are not included in the output file.
  94. </p>
  95. <p>Note, sections that match the &lsquo;<samp>/DISCARD/</samp>&rsquo; output section will be
  96. discarded even if they are in an ELF section group which has other
  97. members which are not being discarded. This is deliberate.
  98. Discarding takes precedence over grouping.
  99. </p>
  100. <hr>
  101. <div class="header">
  102. <p>
  103. Next: <a href="Output-Section-Attributes.html#Output-Section-Attributes" accesskey="n" rel="next">Output Section Attributes</a>, Previous: <a href="Output-Section-Keywords.html#Output-Section-Keywords" accesskey="p" rel="prev">Output Section Keywords</a>, Up: <a href="SECTIONS.html#SECTIONS" accesskey="u" rel="up">SECTIONS</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>
  104. </div>
  105. </body>
  106. </html>