<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the BFD library.

Copyright (C) 1991-2015 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 the
Invariant Sections being "GNU General Public License" and "Funding
Free Software", the Front-Cover texts being (a) (see below), and with
the Back-Cover Texts being (b) (see below).  A copy of the license is
included in the section entitled "GNU Free Documentation License".

(a) The FSF's Front-Cover Text is:

A GNU Manual

(b) The FSF's Back-Cover Text is:

You have freedom to copy and modify this GNU Manual, like GNU
     software.  Copies published by the Free Software Foundation raise
     funds for GNU development. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Untitled Document: Relocating the section contents</title>

<meta name="description" content="Untitled Document: Relocating the section contents">
<meta name="keywords" content="Untitled Document: Relocating the section contents">
<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="BFD-Index.html#BFD-Index" rel="index" title="BFD Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Performing-the-Final-Link.html#Performing-the-Final-Link" rel="up" title="Performing the Final Link">
<link href="Writing-the-symbol-table.html#Writing-the-symbol-table" rel="next" title="Writing the symbol table">
<link href="Information-provided-by-the-linker.html#Information-provided-by-the-linker" rel="prev" title="Information provided by the linker">
<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="Relocating-the-section-contents"></a>
<div class="header">
<p>
Next: <a href="Writing-the-symbol-table.html#Writing-the-symbol-table" accesskey="n" rel="next">Writing the symbol table</a>, Previous: <a href="Information-provided-by-the-linker.html#Information-provided-by-the-linker" accesskey="p" rel="prev">Information provided by the linker</a>, Up: <a href="Performing-the-Final-Link.html#Performing-the-Final-Link" accesskey="u" rel="up">Performing the Final Link</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="BFD-Index.html#BFD-Index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="Relocating-the-section-contents-1"></a>
<h4 class="subsubsection">2.17.3.2 Relocating the section contents</h4>
<p>The <code>_bfd_final_link</code> function should look through the
<code>link_order</code> structures attached to each section of the
output file.  Each <code>link_order</code> structure should either be
handled specially, or it should be passed to the function
<code>_bfd_default_link_order</code> which will do the right thing
(<code>_bfd_default_link_order</code> is defined in <code>linker.c</code>).
</p>
<p>For efficiency, a <code>link_order</code> of type
<code>bfd_indirect_link_order</code> whose associated section belongs
to a BFD of the same format as the output BFD must be handled
specially.  This type of <code>link_order</code> describes part of an
output section in terms of a section belonging to one of the
input files.  The <code>_bfd_final_link</code> function should read the
contents of the section and any associated relocs, apply the
relocs to the section contents, and write out the modified
section contents.  If performing a relocatable link, the
relocs themselves must also be modified and written out.
</p>
<a name="index-_005fbfd_005frelocate_005fcontents"></a>
<a name="index-_005fbfd_005ffinal_005flink_005frelocate"></a>
<p>The functions <code>_bfd_relocate_contents</code> and
<code>_bfd_final_link_relocate</code> provide some general support for
performing the actual relocations, notably overflow checking.
Their arguments include information about the symbol the
relocation is against and a <code>reloc_howto_type</code> argument
which describes the relocation to perform.  These functions
are defined in <code>reloc.c</code>.
</p>
<p>The a.out function which handles reading, relocating, and
writing section contents is <code>aout_link_input_section</code>.  The
actual relocation is done in <code>aout_link_input_section_std</code>
and <code>aout_link_input_section_ext</code>.
</p>



</body>
</html>
