<html lang="en">
<head>
<title>Output Section Fill - 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="prev" href="Output-Section-Phdr.html#Output-Section-Phdr" title="Output Section Phdr">
<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-Fill"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Output-Section-Phdr.html#Output-Section-Phdr">Output Section Phdr</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.8 Output Section Fill</h5>

<p><a name="index-g_t_003d_0040var_007bfillexp_007d-459"></a><a name="index-section-fill-pattern-460"></a><a name="index-fill-pattern_002c-entire-section-461"></a>You can set the fill pattern for an entire section by using
&lsquo;<samp><span class="samp">=</span><var>fillexp</var></samp>&rsquo;.  <var>fillexp</var> is an expression
(see <a href="Expressions.html#Expressions">Expressions</a>).  Any otherwise unspecified regions of memory
within the output section (for example, gaps left due to the required
alignment of input sections) will be filled with the value, repeated as
necessary.  If the fill expression is a simple hex number, ie. a string
of hex digit starting with &lsquo;<samp><span class="samp">0x</span></samp>&rsquo; and without a trailing &lsquo;<samp><span class="samp">k</span></samp>&rsquo; or &lsquo;<samp><span class="samp">M</span></samp>&rsquo;, then
an arbitrarily long sequence of hex digits can be used to specify the
fill pattern;  Leading zeros become part of the pattern too.  For all
other cases, including extra parentheses or a unary <code>+</code>, the fill
pattern is the four least significant bytes of the value of the
expression.  In all cases, the number is big-endian.

   <p>You can also change the fill value with a <code>FILL</code> command in the
output section commands; (see <a href="Output-Section-Data.html#Output-Section-Data">Output Section Data</a>).

   <p>Here is a simple example:
<pre class="smallexample">     SECTIONS { .text : { *(.text) } =0x90909090 }
</pre>
   </body></html>

