<!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.01)
version 2.24.0.

Copyright (C) 1991-2013 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: Simple Assignments</title>

<meta name="description" content="LD: Simple Assignments">
<meta name="keywords" content="LD: Simple Assignments">
<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="Assignments.html#Assignments" rel="up" title="Assignments">
<link href="HIDDEN.html#HIDDEN" rel="next" title="HIDDEN">
<link href="Assignments.html#Assignments" rel="prev" title="Assignments">
<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="Simple-Assignments"></a>
<div class="header">
<p>
Next: <a href="HIDDEN.html#HIDDEN" accesskey="n" rel="next">HIDDEN</a>, Up: <a href="Assignments.html#Assignments" accesskey="u" rel="up">Assignments</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="Simple-Assignments-1"></a>
<h4 class="subsection">3.5.1 Simple Assignments</h4>

<p>You may assign to a symbol using any of the C assignment operators:
</p>
<dl compact="compact">
<dt><code><var>symbol</var> = <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> += <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> -= <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> *= <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> /= <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> &lt;&lt;= <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> &gt;&gt;= <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> &amp;= <var>expression</var> ;</code></dt>
<dt><code><var>symbol</var> |= <var>expression</var> ;</code></dt>
</dl>

<p>The first case will define <var>symbol</var> to the value of
<var>expression</var>.  In the other cases, <var>symbol</var> must already be
defined, and the value will be adjusted accordingly.
</p>
<p>The special symbol name &lsquo;<samp>.</samp>&rsquo; indicates the location counter.  You
may only use this within a <code>SECTIONS</code> command.  See <a href="Location-Counter.html#Location-Counter">Location Counter</a>.
</p>
<p>The semicolon after <var>expression</var> is required.
</p>
<p>Expressions are defined below; see <a href="Expressions.html#Expressions">Expressions</a>.
</p>
<p>You may write symbol assignments as commands in their own right, or as
statements within a <code>SECTIONS</code> command, or as part of an output
section description in a <code>SECTIONS</code> command.
</p>
<p>The section of the symbol will be set from the section of the
expression; for more information, see <a href="Expression-Section.html#Expression-Section">Expression Section</a>.
</p>
<p>Here is an example showing the three different places that symbol
assignments may be used:
</p>
<div class="smallexample">
<pre class="smallexample">floating_point = 0;
SECTIONS
{
  .text :
    {
      *(.text)
      _etext = .;
    }
  _bdata = (. + 3) &amp; ~ 3;
  .data : { *(.data) }
}
</pre></div>
<p>In this example, the symbol &lsquo;<samp>floating_point</samp>&rsquo; will be defined as
zero.  The symbol &lsquo;<samp>_etext</samp>&rsquo; will be defined as the address following
the last &lsquo;<samp>.text</samp>&rsquo; input section.  The symbol &lsquo;<samp>_bdata</samp>&rsquo; will be
defined as the address following the &lsquo;<samp>.text</samp>&rsquo; output section aligned
upward to a 4 byte boundary.
</p>



</body>
</html>
