1<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 2<html> 3<!-- This file documents the GNU linker LD 4(GNU Toolchain for the A-profile Architecture 10.3-2021.07 (arm-10.29)) 5version 2.36.1. 6 7Copyright (C) 1991-2021 Free Software Foundation, Inc. 8 9Permission is granted to copy, distribute and/or modify this document 10under the terms of the GNU Free Documentation License, Version 1.3 11or any later version published by the Free Software Foundation; 12with no Invariant Sections, with no Front-Cover Texts, and with no 13Back-Cover Texts. A copy of the license is included in the 14section entitled "GNU Free Documentation License". --> 15<!-- Created by GNU Texinfo 5.1, http://www.gnu.org/software/texinfo/ --> 16<head> 17<title>LD: BFD</title> 18 19<meta name="description" content="LD: BFD"> 20<meta name="keywords" content="LD: BFD"> 21<meta name="resource-type" content="document"> 22<meta name="distribution" content="global"> 23<meta name="Generator" content="makeinfo"> 24<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 25<link href="index.html#Top" rel="start" title="Top"> 26<link href="LD-Index.html#LD-Index" rel="index" title="LD Index"> 27<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents"> 28<link href="index.html#Top" rel="up" title="Top"> 29<link href="BFD-outline.html#BFD-outline" rel="next" title="BFD outline"> 30<link href="Xtensa.html#Xtensa" rel="previous" title="Xtensa"> 31<style type="text/css"> 32<!-- 33a.summary-letter {text-decoration: none} 34blockquote.smallquotation {font-size: smaller} 35div.display {margin-left: 3.2em} 36div.example {margin-left: 3.2em} 37div.indentedblock {margin-left: 3.2em} 38div.lisp {margin-left: 3.2em} 39div.smalldisplay {margin-left: 3.2em} 40div.smallexample {margin-left: 3.2em} 41div.smallindentedblock {margin-left: 3.2em; font-size: smaller} 42div.smalllisp {margin-left: 3.2em} 43kbd {font-style:oblique} 44pre.display {font-family: inherit} 45pre.format {font-family: inherit} 46pre.menu-comment {font-family: serif} 47pre.menu-preformatted {font-family: serif} 48pre.smalldisplay {font-family: inherit; font-size: smaller} 49pre.smallexample {font-size: smaller} 50pre.smallformat {font-family: inherit; font-size: smaller} 51pre.smalllisp {font-size: smaller} 52span.nocodebreak {white-space:nowrap} 53span.nolinebreak {white-space:nowrap} 54span.roman {font-family:serif; font-weight:normal} 55span.sansserif {font-family:sans-serif; font-weight:normal} 56ul.no-bullet {list-style: none} 57--> 58</style> 59 60 61</head> 62 63<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000"> 64<a name="BFD"></a> 65<div class="header"> 66<p> 67Next: <a href="Reporting-Bugs.html#Reporting-Bugs" accesskey="n" rel="next">Reporting Bugs</a>, Previous: <a href="Machine-Dependent.html#Machine-Dependent" accesskey="p" rel="previous">Machine Dependent</a>, Up: <a href="index.html#Top" accesskey="u" rel="up">Top</a> [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="LD-Index.html#LD-Index" title="Index" rel="index">Index</a>]</p> 68</div> 69<hr> 70<a name="BFD-1"></a> 71<h2 class="chapter">6 BFD</h2> 72 73<a name="index-back-end"></a> 74<a name="index-object-file-management"></a> 75<a name="index-object-formats-available"></a> 76<a name="index-objdump-_002di"></a> 77<p>The linker accesses object and archive files using the BFD libraries. 78These libraries allow the linker to use the same routines to operate on 79object files whatever the object file format. A different object file 80format can be supported simply by creating a new BFD back end and adding 81it to the library. To conserve runtime memory, however, the linker and 82associated tools are usually configured to support only a subset of the 83object file formats available. You can use <code>objdump -i</code> 84(see <a href="http://sourceware.org/binutils/docs/binutils/objdump.html#objdump">objdump</a> in <cite>The GNU Binary Utilities</cite>) to 85list all the formats available for your configuration. 86</p> 87<a name="index-BFD-requirements"></a> 88<a name="index-requirements-for-BFD"></a> 89<p>As with most implementations, BFD is a compromise between 90several conflicting requirements. The major factor influencing 91BFD design was efficiency: any time used converting between 92formats is time which would not have been spent had BFD not 93been involved. This is partly offset by abstraction payback; since 94BFD simplifies applications and back ends, more time and care 95may be spent optimizing algorithms for a greater speed. 96</p> 97<p>One minor artifact of the BFD solution which you should bear in 98mind is the potential for information loss. There are two places where 99useful information can be lost using the BFD mechanism: during 100conversion and during output. See <a href="BFD-information-loss.html#BFD-information-loss">BFD information loss</a>. 101</p> 102<table class="menu" border="0" cellspacing="0"> 103<tr><td align="left" valign="top">• <a href="BFD-outline.html#BFD-outline" accesskey="1">BFD outline</a>:</td><td> </td><td align="left" valign="top">How it works: an outline of BFD 104</td></tr> 105</table> 106 107 108 109 110</body> 111</html> 112