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.

105 lines
4.6KB

  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>Orphan Sections (LD)</title>
  17. <meta name="description" content="Orphan Sections (LD)">
  18. <meta name="keywords" content="Orphan Sections (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="Expressions.html#Expressions" rel="up" title="Expressions">
  26. <link href="Location-Counter.html#Location-Counter" rel="next" title="Location Counter">
  27. <link href="Symbols.html#Symbols" rel="prev" title="Symbols">
  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="Orphan-Sections"></a>
  58. <div class="header">
  59. <p>
  60. Next: <a href="Location-Counter.html#Location-Counter" accesskey="n" rel="next">Location Counter</a>, Previous: <a href="Symbols.html#Symbols" accesskey="p" rel="prev">Symbols</a>, Up: <a href="Expressions.html#Expressions" accesskey="u" rel="up">Expressions</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="Orphan-Sections-1"></a>
  64. <h4 class="subsection">3.10.4 Orphan Sections</h4>
  65. <a name="index-orphan"></a>
  66. <p>Orphan sections are sections present in the input files which
  67. are not explicitly placed into the output file by the linker
  68. script. The linker will still copy these sections into the
  69. output file by either finding, or creating a suitable output section
  70. in which to place the orphaned input section.
  71. </p>
  72. <p>If the name of an orphaned input section exactly matches the name of
  73. an existing output section, then the orphaned input section will be
  74. placed at the end of that output section.
  75. </p>
  76. <p>If there is no output section with a matching name then new output
  77. sections will be created. Each new output section will have the same
  78. name as the orphan section placed within it. If there are multiple
  79. orphan sections with the same name, these will all be combined into
  80. one new output section.
  81. </p>
  82. <p>If new output sections are created to hold orphaned input sections,
  83. then the linker must decide where to place these new output sections
  84. in relation to existing output sections. On most modern targets, the
  85. linker attempts to place orphan sections after sections of the same
  86. attribute, such as code vs data, loadable vs non-loadable, etc. If no
  87. sections with matching attributes are found, or your target lacks this
  88. support, the orphan section is placed at the end of the file.
  89. </p>
  90. <p>The command-line options &lsquo;<samp>--orphan-handling</samp>&rsquo; and &lsquo;<samp>--unique</samp>&rsquo;
  91. (see <a href="Options.html#Options">Command-line Options</a>) can be used to control which
  92. output sections an orphan is placed in.
  93. </p>
  94. </body>
  95. </html>