<html lang="en">
<head>
<title>Output Section Description - 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="SECTIONS.html#SECTIONS" title="SECTIONS">
<link rel="next" href="Output-Section-Name.html#Output-Section-Name" title="Output Section Name">
<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage">
<!--
This file documents the GNU linker LD
(GNU Toolchain for the A-profile Architecture 9.2-2019.12 (arm-9.10))
version 2.33.1.

Copyright (C) 1991-2019 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="Output-Section-Description"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="Output-Section-Name.html#Output-Section-Name">Output Section Name</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="SECTIONS.html#SECTIONS">SECTIONS</a>
<hr>
</div>

<h4 class="subsection">3.6.1 Output Section Description</h4>

<p>The full description of an output section looks like this:
<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>
         ...
       } [&gt;<var>region</var>] [AT&gt;<var>lma_region</var>] [:<var>phdr</var> :<var>phdr</var> ...] [=<var>fillexp</var>] [,]
</pre>
   <p>Most output sections do not use most of the optional section attributes.

   <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>Each <var>output-section-command</var> may be one of the following:

     <ul>
<li>a symbol assignment (see <a href="Assignments.html#Assignments">Assignments</a>)
<li>an input section description (see <a href="Input-Section.html#Input-Section">Input Section</a>)
<li>data values to include directly (see <a href="Output-Section-Data.html#Output-Section-Data">Output Section Data</a>)
<li>a special output section keyword (see <a href="Output-Section-Keywords.html#Output-Section-Keywords">Output Section Keywords</a>)
</ul>

   </body></html>

