<html lang="en">
<head>
<title>MSP430 - 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="Machine-Dependent.html#Machine-Dependent" title="Machine Dependent">
<link rel="prev" href="MMIX.html#MMIX" title="MMIX">
<link rel="next" href="NDS32.html#NDS32" title="NDS32">
<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="MSP430"></a>
<p>
Next:&nbsp;<a rel="next" accesskey="n" href="NDS32.html#NDS32">NDS32</a>,
Previous:&nbsp;<a rel="previous" accesskey="p" href="MMIX.html#MMIX">MMIX</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Machine-Dependent.html#Machine-Dependent">Machine Dependent</a>
<hr>
</div>

<h3 class="section">4.8 <code>ld</code> and MSP430</h3>

<p>For the MSP430 it is possible to select the MPU architecture.  The flag &lsquo;<samp><span class="samp">-m [mpu type]</span></samp>&rsquo;
will select an appropriate linker script for selected MPU type.  (To get a list of known MPUs
just pass &lsquo;<samp><span class="samp">-m help</span></samp>&rsquo; option to the linker).

   <p><a name="index-MSP430-extra-sections-694"></a>The linker will recognize some extra sections which are MSP430 specific:

     <dl>
<dt><code>&lsquo;</code><samp><span class="samp">.vectors</span></samp><code>&rsquo;</code><dd>Defines a portion of ROM where interrupt vectors located.

     <br><dt><code>&lsquo;</code><samp><span class="samp">.bootloader</span></samp><code>&rsquo;</code><dd>Defines the bootloader portion of the ROM (if applicable).  Any code
in this section will be uploaded to the MPU.

     <br><dt><code>&lsquo;</code><samp><span class="samp">.infomem</span></samp><code>&rsquo;</code><dd>Defines an information memory section (if applicable).  Any code in
this section will be uploaded to the MPU.

     <br><dt><code>&lsquo;</code><samp><span class="samp">.infomemnobits</span></samp><code>&rsquo;</code><dd>This is the same as the &lsquo;<samp><span class="samp">.infomem</span></samp>&rsquo; section except that any code
in this section will not be uploaded to the MPU.

     <br><dt><code>&lsquo;</code><samp><span class="samp">.noinit</span></samp><code>&rsquo;</code><dd>Denotes a portion of RAM located above &lsquo;<samp><span class="samp">.bss</span></samp>&rsquo; section.

     <p>The last two sections are used by gcc. 
</dl>

     
<a name="index-MSP430-Options-695"></a>
<a name="index-g_t_002d_002dcode_002dregion-696"></a>
<dl><dt><samp><span class="option">--code-region=[either,lower,upper,none]</span></samp><dd>This will transform .text* sections to [either,lower,upper].text* sections. The
argument passed to GCC for -mcode-region is propagated to the linker
using this option.

     <p><a name="index-g_t_002d_002ddata_002dregion-697"></a><br><dt><samp><span class="option">--data-region=[either,lower,upper,none]</span></samp><dd>This will transform .data*, .bss* and .rodata* sections to
[either,lower,upper].[data,bss,rodata]* sections. The argument passed to GCC
for -mdata-region is propagated to the linker using this option.

     <p><a name="index-g_t_002d_002ddisable_002dsec_002dtransformation-698"></a><br><dt><samp><span class="option">--disable-sec-transformation</span></samp><dd>Prevent the transformation of sections as specified by the <code>--code-region</code>
and <code>--data-region</code> options. 
This is useful if you are compiling and linking using a single call to the GCC
wrapper, and want to compile the source files using -m[code,data]-region but
not transform the sections for prebuilt libraries and objects. 
</dl>

   </body></html>

