blob: 9d930714a0a244cafb12e9ff5068da2598068993 [file] [log] [blame]
<html lang="en">
<head>
<title>Input Section Example - 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="Input-Section.html#Input-Section" title="Input Section">
<link rel="prev" href="Input-Section-Keep.html#Input-Section-Keep" title="Input Section Keep">
<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="Input-Section-Example"></a>
<p>
Previous:&nbsp;<a rel="previous" accesskey="p" href="Input-Section-Keep.html#Input-Section-Keep">Input Section Keep</a>,
Up:&nbsp;<a rel="up" accesskey="u" href="Input-Section.html#Input-Section">Input Section</a>
<hr>
</div>
<h5 class="subsubsection">3.6.4.5 Input Section Example</h5>
<p>The following example is a complete linker script. It tells the linker
to read all of the sections from file <samp><span class="file">all.o</span></samp> and place them at the
start of output section &lsquo;<samp><span class="samp">outputa</span></samp>&rsquo; which starts at location
&lsquo;<samp><span class="samp">0x10000</span></samp>&rsquo;. All of section &lsquo;<samp><span class="samp">.input1</span></samp>&rsquo; from file <samp><span class="file">foo.o</span></samp>
follows immediately, in the same output section. All of section
&lsquo;<samp><span class="samp">.input2</span></samp>&rsquo; from <samp><span class="file">foo.o</span></samp> goes into output section
&lsquo;<samp><span class="samp">outputb</span></samp>&rsquo;, followed by section &lsquo;<samp><span class="samp">.input1</span></samp>&rsquo; from <samp><span class="file">foo1.o</span></samp>.
All of the remaining &lsquo;<samp><span class="samp">.input1</span></samp>&rsquo; and &lsquo;<samp><span class="samp">.input2</span></samp>&rsquo; sections from any
files are written to output section &lsquo;<samp><span class="samp">outputc</span></samp>&rsquo;.
<pre class="smallexample"> SECTIONS {
outputa 0x10000 :
{
all.o
foo.o (.input1)
}
outputb :
{
foo.o (.input2)
foo1.o (.input1)
}
outputc :
{
*(.input1)
*(.input2)
}
}
</pre>
</body></html>