toolchain/gcc-linaro-6.3.1-2017.02-x8.../share/doc/ld.html/Output-Section-Fill.html

101 lines
4.6 KiB
HTML

<!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
(Linaro_Binutils-2017.02)
version 2.27.0.
Copyright (C) 1991-2016 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 Fill</title>
<meta name="description" content="LD: Output Section Fill">
<meta name="keywords" content="LD: Output Section Fill">
<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="Output-Section-Attributes.html#Output-Section-Attributes" rel="up" title="Output Section Attributes">
<link href="Overlay-Description.html#Overlay-Description" rel="next" title="Overlay Description">
<link href="Output-Section-Phdr.html#Output-Section-Phdr" rel="prev" title="Output Section Phdr">
<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-Fill"></a>
<div class="header">
<p>
Previous: <a href="Output-Section-Phdr.html#Output-Section-Phdr" accesskey="p" rel="prev">Output Section Phdr</a>, Up: <a href="Output-Section-Attributes.html#Output-Section-Attributes" accesskey="u" rel="up">Output Section Attributes</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-Fill-1"></a>
<h4 class="subsubsection">3.6.8.8 Output Section Fill</h4>
<a name="index-_003dfillexp"></a>
<a name="index-section-fill-pattern"></a>
<a name="index-fill-pattern_002c-entire-section"></a>
<p>You can set the fill pattern for an entire section by using
&lsquo;<samp>=<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>0x</samp>&rsquo; and without a trailing &lsquo;<samp>k</samp>&rsquo; or &lsquo;<samp>M</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>
<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>
<p>Here is a simple example:
</p><div class="smallexample">
<pre class="smallexample">SECTIONS { .text : { *(.text) } =0x90909090 }
</pre></div>
</body>
</html>