1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3<!-- This file documents the GNU linker LD 4(GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 5version 2.36.1. 6 7Copyright (C) 1991-2021 Free Software Foundation, Inc. 8 9Permission is granted to copy, distribute and/or modify this document 10under the terms of the GNU Free Documentation License, Version 1.3 11or any later version published by the Free Software Foundation; 12with no Invariant Sections, with no Front-Cover Texts, and with no 13Back-Cover Texts. A copy of the license is included in the 14section entitled "GNU Free Documentation License". --> 15<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> 16<head> 17<title>LD: Simple Assignments</title> 18 19<meta name="description" content="LD: Simple Assignments"> 20<meta name="keywords" content="LD: Simple Assignments"> 21<meta name="resource-type" content="document"> 22<meta name="distribution" content="global"> 23<meta name="Generator" content="makeinfo"> 24<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 25<link href="index.html#Top" rel="start" title="Top"> 26<link href="LD-Index.html#LD-Index" rel="index" title="LD Index"> 27<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> 28<link href="Assignments.html#Assignments" rel="up" title="Assignments"> 29<link href="HIDDEN.html#HIDDEN" rel="next" title="HIDDEN"> 30<link href="Assignments.html#Assignments" rel="previous" title="Assignments"> 31<style type="text/css"> 32<!-- 33a.summary-letter {text-decoration: none} 34blockquote.smallquotation {font-size: smaller} 35div.display {margin-left: 3.2em} 36div.example {margin-left: 3.2em} 37div.indentedblock {margin-left: 3.2em} 38div.lisp {margin-left: 3.2em} 39div.smalldisplay {margin-left: 3.2em} 40div.smallexample {margin-left: 3.2em} 41div.smallindentedblock {margin-left: 3.2em; font-size: smaller} 42div.smalllisp {margin-left: 3.2em} 43kbd {font-style:oblique} 44pre.display {font-family: inherit} 45pre.format {font-family: inherit} 46pre.menu-comment {font-family: serif} 47pre.menu-preformatted {font-family: serif} 48pre.smalldisplay {font-family: inherit; font-size: smaller} 49pre.smallexample {font-size: smaller} 50pre.smallformat {font-family: inherit; font-size: smaller} 51pre.smalllisp {font-size: smaller} 52span.nocodebreak {white-space:nowrap} 53span.nolinebreak {white-space:nowrap} 54span.roman {font-family:serif; font-weight:normal} 55span.sansserif {font-family:sans-serif; font-weight:normal} 56ul.no-bullet {list-style: none} 57--> 58</style> 59 60 61</head> 62 63<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> 64<a name="Simple-Assignments"></a> 65<div class="header"> 66<p> 67Next: <a href="HIDDEN.html#HIDDEN" accesskey="n" rel="next">HIDDEN</a>, Up: <a href="Assignments.html#Assignments" accesskey="u" rel="up">Assignments</a> [<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> 68</div> 69<hr> 70<a name="Simple-Assignments-1"></a> 71<h4 class="subsection">3.5.1 Simple Assignments</h4> 72 73<p>You may assign to a symbol using any of the C assignment operators: 74</p> 75<dl compact="compact"> 76<dt><code><var>symbol</var> = <var>expression</var> ;</code></dt> 77<dt><code><var>symbol</var> += <var>expression</var> ;</code></dt> 78<dt><code><var>symbol</var> -= <var>expression</var> ;</code></dt> 79<dt><code><var>symbol</var> *= <var>expression</var> ;</code></dt> 80<dt><code><var>symbol</var> /= <var>expression</var> ;</code></dt> 81<dt><code><var>symbol</var> <<= <var>expression</var> ;</code></dt> 82<dt><code><var>symbol</var> >>= <var>expression</var> ;</code></dt> 83<dt><code><var>symbol</var> &= <var>expression</var> ;</code></dt> 84<dt><code><var>symbol</var> |= <var>expression</var> ;</code></dt> 85</dl> 86 87<p>The first case will define <var>symbol</var> to the value of 88<var>expression</var>. In the other cases, <var>symbol</var> must already be 89defined, and the value will be adjusted accordingly. 90</p> 91<p>The special symbol name ‘<samp>.</samp>’ indicates the location counter. You 92may only use this within a <code>SECTIONS</code> command. See <a href="Location-Counter.html#Location-Counter">Location Counter</a>. 93</p> 94<p>The semicolon after <var>expression</var> is required. 95</p> 96<p>Expressions are defined below; see <a href="Expressions.html#Expressions">Expressions</a>. 97</p> 98<p>You may write symbol assignments as commands in their own right, or as 99statements within a <code>SECTIONS</code> command, or as part of an output 100section description in a <code>SECTIONS</code> command. 101</p> 102<p>The section of the symbol will be set from the section of the 103expression; for more information, see <a href="Expression-Section.html#Expression-Section">Expression Section</a>. 104</p> 105<p>Here is an example showing the three different places that symbol 106assignments may be used: 107</p> 108<div class="smallexample"> 109<pre class="smallexample">floating_point = 0; 110SECTIONS 111{ 112 .text : 113 { 114 *(.text) 115 _etext = .; 116 } 117 _bdata = (. + 3) & ~ 3; 118 .data : { *(.data) } 119} 120</pre></div> 121<p>In this example, the symbol ‘<samp>floating_point</samp>’ will be defined as 122zero. The symbol ‘<samp>_etext</samp>’ will be defined as the address following 123the last ‘<samp>.text</samp>’ input section. The symbol ‘<samp>_bdata</samp>’ will be 124defined as the address following the ‘<samp>.text</samp>’ output section aligned 125upward to a 4 byte boundary. 126</p> 127 128 129 130</body> 131</html> 132