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

77 lines
3.4 KiB
HTML

<html lang="en">
<head>
<title>Orphan Sections - Untitled</title>
<meta http-equiv="Content-Type" content="text/html">
<meta name="description" content="Untitled">
<meta name="generator" content="makeinfo 4.13">
<link title="Top" rel="start" href="index.html#Top">
<link rel="up" href="Expressions.html#Expressions" title="Expressions">
<link rel="prev" href="Symbols.html#Symbols" title="Symbols">
<link rel="next" href="Location-Counter.html#Location-Counter" title="Location Counter">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU linker LD
(GNU Binutils)
version 2.26.
Copyright (C) 1991-2015 Free Software Foundation, Inc.
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3
or any later version published by the Free Software Foundation;
with no Invariant Sections, with no Front-Cover Texts, and with no
Back-Cover Texts. A copy of the license is included in the
section entitled ``GNU Free Documentation License''.-->
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css"><!--
pre.display { font-family:inherit }
pre.format { font-family:inherit }
pre.smalldisplay { font-family:inherit; font-size:smaller }
pre.smallformat { font-family:inherit; font-size:smaller }
pre.smallexample { font-size:smaller }
pre.smalllisp { font-size:smaller }
span.sc { font-variant:small-caps }
span.roman { font-family:serif; font-weight:normal; }
span.sansserif { font-family:sans-serif; font-weight:normal; }
--></style>
</head>
<body>
<div class="node">
<a name="Orphan-Sections"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Location-Counter.html#Location-Counter">Location Counter</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="Symbols.html#Symbols">Symbols</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Expressions.html#Expressions">Expressions</a>
<hr>
</div>
<h4 class="subsection">3.10.4 Orphan Sections</h4>
<p><a name="index-orphan-538"></a>Orphan sections are sections present in the input files which
are not explicitly placed into the output file by the linker
script. The linker will still copy these sections into the
output file, but it has to guess as to where they should be
placed. The linker uses a simple heuristic to do this. It
attempts to place orphan sections after non-orphan sections of the
same attribute, such as code vs data, loadable vs non-loadable, etc.
If there is not enough room to do this then it places
at the end of the file.
<p>For ELF targets, the attribute of the section includes section type as
well as section flag.
<p>The command line options &lsquo;<samp><span class="samp">--orphan-handling</span></samp>&rsquo; and &lsquo;<samp><span class="samp">--unique</span></samp>&rsquo;
(see <a href="Options.html#Options">Command Line Options</a>) can be used to control which
output sections an orphan is placed in.
<p>If an orphaned section's name is representable as a C identifier then
the linker will automatically see <a href="PROVIDE.html#PROVIDE">PROVIDE</a> two symbols:
__start_SECNAME and __stop_SECNAME, where SECNAME is the name of the
section. These indicate the start address and end address of the
orphaned section respectively. Note: most section names are not
representable as C identifiers because they contain a &lsquo;<samp><span class="samp">.</span></samp>&rsquo;
character.
</body></html>