blob: 7b5f5cbe1879e3addf2454e9a258e8952366ba5f [file] [log] [blame]
<html lang="en">
<head>
<title>Output Section Type - 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="Output-Section-Attributes.html#Output-Section-Attributes" title="Output Section Attributes">
<link rel="next" href="Output-Section-LMA.html#Output-Section-LMA" title="Output Section LMA">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU linker LD
(Sourcery G++ Lite 2011.03-41)
version 2.20.51.
Copyright (C) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 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>
<link rel="stylesheet" type="text/css" href="../cs.css">
</head>
<body>
<div class="node">
<a name="Output-Section-Type"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Output-Section-LMA.html#Output-Section-LMA">Output Section LMA</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Output-Section-Attributes.html#Output-Section-Attributes">Output Section Attributes</a>
<hr>
</div>
<h5 class="subsubsection">3.6.8.1 Output Section Type</h5>
<p>Each output section may have a type. The type is a keyword in
parentheses. The following types are defined:
<dl>
<dt><code>NOLOAD</code><dd>The section should be marked as not loadable, so that it will not be
loaded into memory when the program is run.
<br><dt><code>DSECT</code><dt><code>COPY</code><dt><code>INFO</code><dt><code>OVERLAY</code><dd>These type names are supported for backward compatibility, and are
rarely used. They all have the same effect: the section should be
marked as not allocatable, so that no memory is allocated for the
section when the program is run.
</dl>
<p><a name="index-NOLOAD-435"></a><a name="index-prevent-unnecessary-loading-436"></a><a name="index-loading_002c-preventing-437"></a>The linker normally sets the attributes of an output section based on
the input sections which map into it. You can override this by using
the section type. For example, in the script sample below, the
&lsquo;<samp><span class="samp">ROM</span></samp>&rsquo; section is addressed at memory location &lsquo;<samp><span class="samp">0</span></samp>&rsquo; and does not
need to be loaded when the program is run. The contents of the
&lsquo;<samp><span class="samp">ROM</span></samp>&rsquo; section will appear in the linker output file as usual.
<pre class="smallexample"> SECTIONS {
ROM 0 (NOLOAD) : { ... }
...
}
</pre>
</body></html>