<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the GNU linker LD
(GNU Binutils)
version 2.25.

Copyright (C) 1991-2014 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". -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>LD: Output Section Description</title>

<meta name="description" content="LD: Output Section Description">
<meta name="keywords" content="LD: Output Section Description">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="LD-Index.html#LD-Index" rel="index" title="LD Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="SECTIONS.html#SECTIONS" rel="up" title="SECTIONS">
<link href="Output-Section-Name.html#Output-Section-Name" rel="next" title="Output Section Name">
<link href="SECTIONS.html#SECTIONS" rel="prev" title="SECTIONS">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>


</head>

<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Output-Section-Description"></a>
<div class="header">
<p>
Next: <a href="Output-Section-Name.html#Output-Section-Name" accesskey="n" rel="next">Output Section Name</a>, Up: <a href="SECTIONS.html#SECTIONS" accesskey="u" rel="up">SECTIONS</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>
</div>
<hr>
<a name="Output-Section-Description-1"></a>
<h4 class="subsection">3.6.1 Output Section Description</h4>
<p>The full description of an output section looks like this:
</p><div class="smallexample">
<pre class="smallexample"><var>section</var> [<var>address</var>] [(<var>type</var>)] :
  [AT(<var>lma</var>)]
  [ALIGN(<var>section_align</var>) | ALIGN_WITH_INPUT]
  [SUBALIGN(<var>subsection_align</var>)]
  [<var>constraint</var>]
  {
    <var>output-section-command</var>
    <var>output-section-command</var>
    &hellip;
  } [&gt;<var>region</var>] [AT&gt;<var>lma_region</var>] [:<var>phdr</var> :<var>phdr</var> &hellip;] [=<var>fillexp</var>] [,]
</pre></div>

<p>Most output sections do not use most of the optional section attributes.
</p>
<p>The whitespace around <var>section</var> is required, so that the section
name is unambiguous.  The colon and the curly braces are also required.
The comma at the end may be required if a <var>fillexp</var> is used and
the next <var>sections-command</var> looks like a continuation of the expression.
The line breaks and other white space are optional.
</p>
<p>Each <var>output-section-command</var> may be one of the following:
</p>
<ul>
<li> a symbol assignment (see <a href="Assignments.html#Assignments">Assignments</a>)
</li><li> an input section description (see <a href="Input-Section.html#Input-Section">Input Section</a>)
</li><li> data values to include directly (see <a href="Output-Section-Data.html#Output-Section-Data">Output Section Data</a>)
</li><li> a special output section keyword (see <a href="Output-Section-Keywords.html#Output-Section-Keywords">Output Section Keywords</a>)
</li></ul>




</body>
</html>
