<html lang="en"> <head> <title>Information provided by the linker - Untitled</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="Untitled"> <meta name="generator" content="makeinfo 4.7"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Performing-the-Final-Link.html#Performing-the-Final-Link" title="Performing the Final Link"> <link rel="prev" href="Performing-the-Final-Link.html#Performing-the-Final-Link" title="Performing the Final Link"> <link rel="next" href="Relocating-the-section-contents.html#Relocating-the-section-contents" title="Relocating the section contents"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <!-- This file documents the BFD library. Copyright (C) 1991, 2000, 2001, 2003, 2006, 2007 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.1 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.--> <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; } --></style> </head> <body> <div class="node"> <p> <a name="Information-provided-by-the-linker"></a>Next: <a rel="next" accesskey="n" href="Relocating-the-section-contents.html#Relocating-the-section-contents">Relocating the section contents</a>, Previous: <a rel="previous" accesskey="p" href="Performing-the-Final-Link.html#Performing-the-Final-Link">Performing the Final Link</a>, Up: <a rel="up" accesskey="u" href="Performing-the-Final-Link.html#Performing-the-Final-Link">Performing the Final Link</a> <hr><br> </div> <h5 class="subsubsection">2.17.3.1 Information provided by the linker</h5> <p>Before the linker calls the <code>_bfd_final_link</code> entry point, it sets up some data structures for the function to use. <p>The <code>input_bfds</code> field of the <code>bfd_link_info</code> structure will point to a list of all the input files included in the link. These files are linked through the <code>link_next</code> field of the <code>bfd</code> structure. <p>Each section in the output file will have a list of <code>link_order</code> structures attached to the <code>map_head.link_order</code> field (the <code>link_order</code> structure is defined in <code>bfdlink.h</code>). These structures describe how to create the contents of the output section in terms of the contents of various input sections, fill constants, and, eventually, other types of information. They also describe relocs that must be created by the BFD backend, but do not correspond to any input file; this is used to support -Ur, which builds constructors while generating a relocatable object file. </body></html>