arduino-0018-windows
This commit is contained in:
		
							parent
							
								
									157fd6f1a1
								
							
						
					
					
						commit
						f39fc49523
					
				
					 5182 changed files with 950586 additions and 0 deletions
				
			
		|  | @ -0,0 +1,94 @@ | |||
| <html lang="en"> | ||||
| <head> | ||||
| <title>Linker Functions - 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="BFD-front-end.html#BFD-front-end" title="BFD front end"> | ||||
| <link rel="prev" href="File-Caching.html#File-Caching" title="File Caching"> | ||||
| <link rel="next" href="Hash-Tables.html#Hash-Tables" title="Hash Tables"> | ||||
| <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="Linker-Functions"></a>Next: <a rel="next" accesskey="n" href="Hash-Tables.html#Hash-Tables">Hash Tables</a>, | ||||
| Previous: <a rel="previous" accesskey="p" href="File-Caching.html#File-Caching">File Caching</a>, | ||||
| Up: <a rel="up" accesskey="u" href="BFD-front-end.html#BFD-front-end">BFD front end</a> | ||||
| <hr><br> | ||||
| </div> | ||||
| 
 | ||||
| <h3 class="section">2.17 Linker Functions</h3> | ||||
| 
 | ||||
| <p><a name="index-Linker-1368"></a>The linker uses three special entry points in the BFD target | ||||
| vector.  It is not necessary to write special routines for | ||||
| these entry points when creating a new BFD back end, since | ||||
| generic versions are provided.  However, writing them can | ||||
| speed up linking and make it use significantly less runtime | ||||
| memory. | ||||
| 
 | ||||
|    <p>The first routine creates a hash table used by the other | ||||
| routines.  The second routine adds the symbols from an object | ||||
| file to the hash table.  The third routine takes all the | ||||
| object files and links them together to create the output | ||||
| file.  These routines are designed so that the linker proper | ||||
| does not need to know anything about the symbols in the object | ||||
| files that it is linking.  The linker merely arranges the | ||||
| sections as directed by the linker script and lets BFD handle | ||||
| the details of symbols and relocs. | ||||
| 
 | ||||
|    <p>The second routine and third routines are passed a pointer to | ||||
| a <code>struct bfd_link_info</code> structure (defined in | ||||
| <code>bfdlink.h</code>) which holds information relevant to the link, | ||||
| including the linker hash table (which was created by the | ||||
| first routine) and a set of callback functions to the linker | ||||
| proper. | ||||
| 
 | ||||
|    <p>The generic linker routines are in <code>linker.c</code>, and use the | ||||
| header file <code>genlink.h</code>.  As of this writing, the only back | ||||
| ends which have implemented versions of these routines are | ||||
| a.out (in <code>aoutx.h</code>) and ECOFF (in <code>ecoff.c</code>).  The a.out | ||||
| routines are used as examples throughout this section. | ||||
| 
 | ||||
| <ul class="menu"> | ||||
| <li><a accesskey="1" href="Creating-a-Linker-Hash-Table.html#Creating-a-Linker-Hash-Table">Creating a Linker Hash Table</a> | ||||
| <li><a accesskey="2" href="Adding-Symbols-to-the-Hash-Table.html#Adding-Symbols-to-the-Hash-Table">Adding Symbols to the Hash Table</a> | ||||
| <li><a accesskey="3" href="Performing-the-Final-Link.html#Performing-the-Final-Link">Performing the Final Link</a> | ||||
| </ul> | ||||
| 
 | ||||
|    </body></html> | ||||
| 
 | ||||
		Reference in a new issue