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 Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29))
5version 2.36.1.
6
7Copyright (C) 1991-2021 Free Software Foundation, Inc.
8
9Permission is granted to copy, distribute and/or modify this document
10under the terms of the GNU Free Documentation License, Version 1.3
11or any later version published by the Free Software Foundation;
12with no Invariant Sections, with no Front-Cover Texts, and with no
13Back-Cover Texts.  A copy of the license is included in the
14section entitled "GNU Free Documentation License". -->
15<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ -->
16<head>
17<title>LD: Orphan Sections</title>
18
19<meta name="description" content="LD: Orphan Sections">
20<meta name="keywords" content="LD: Orphan Sections">
21<meta name="resource-type" content="document">
22<meta name="distribution" content="global">
23<meta name="Generator" content="makeinfo">
24<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
25<link href="index.html#Top" rel="start" title="Top">
26<link href="LD-Index.html#LD-Index" rel="index" title="LD Index">
27<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
28<link href="Expressions.html#Expressions" rel="up" title="Expressions">
29<link href="Location-Counter.html#Location-Counter" rel="next" title="Location Counter">
30<link href="Symbols.html#Symbols" rel="previous" title="Symbols">
31<style type="text/css">
32<!--
33a.summary-letter {text-decoration: none}
34blockquote.smallquotation {font-size: smaller}
35div.display {margin-left: 3.2em}
36div.example {margin-left: 3.2em}
37div.indentedblock {margin-left: 3.2em}
38div.lisp {margin-left: 3.2em}
39div.smalldisplay {margin-left: 3.2em}
40div.smallexample {margin-left: 3.2em}
41div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
42div.smalllisp {margin-left: 3.2em}
43kbd {font-style:oblique}
44pre.display {font-family: inherit}
45pre.format {font-family: inherit}
46pre.menu-comment {font-family: serif}
47pre.menu-preformatted {font-family: serif}
48pre.smalldisplay {font-family: inherit; font-size: smaller}
49pre.smallexample {font-size: smaller}
50pre.smallformat {font-family: inherit; font-size: smaller}
51pre.smalllisp {font-size: smaller}
52span.nocodebreak {white-space:nowrap}
53span.nolinebreak {white-space:nowrap}
54span.roman {font-family:serif; font-weight:normal}
55span.sansserif {font-family:sans-serif; font-weight:normal}
56ul.no-bullet {list-style: none}
57-->
58</style>
59
60
61</head>
62
63<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
64<a name="Orphan-Sections"></a>
65<div class="header">
66<p>
67Next: <a href="Location-Counter.html#Location-Counter" accesskey="n" rel="next">Location Counter</a>, Previous: <a href="Symbols.html#Symbols" accesskey="p" rel="previous">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>
68</div>
69<hr>
70<a name="Orphan-Sections-1"></a>
71<h4 class="subsection">3.10.4 Orphan Sections</h4>
72<a name="index-orphan"></a>
73<p>Orphan sections are sections present in the input files which
74are not explicitly placed into the output file by the linker
75script.  The linker will still copy these sections into the
76output file by either finding, or creating a suitable output section
77in which to place the orphaned input section.
78</p>
79<p>If the name of an orphaned input section exactly matches the name of
80an existing output section, then the orphaned input section will be
81placed at the end of that output section.
82</p>
83<p>If there is no output section with a matching name then new output
84sections will be created.  Each new output section will have the same
85name as the orphan section placed within it.  If there are multiple
86orphan sections with the same name, these will all be combined into
87one new output section.
88</p>
89<p>If new output sections are created to hold orphaned input sections,
90then the linker must decide where to place these new output sections
91in relation to existing output sections.  On most modern targets, the
92linker attempts to place orphan sections after sections of the same
93attribute, such as code vs data, loadable vs non-loadable, etc.  If no
94sections with matching attributes are found, or your target lacks this
95support, the orphan section is placed at the end of the file.
96</p>
97<p>The command-line options &lsquo;<samp>--orphan-handling</samp>&rsquo; and &lsquo;<samp>--unique</samp>&rsquo;
98(see <a href="Options.html#Options">Command-line Options</a>) can be used to control which
99output sections an orphan is placed in.
100</p>
101
102
103
104</body>
105</html>
106