PageRenderTime 60ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/share/doc/ld/ld.html/BFD.html

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