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> [<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 ‘<samp>--orphan-handling</samp>’ and ‘<samp>--unique</samp>’ 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