Mini-Symbols.html 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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 BFD library.
  4. Copyright (C) 1991-2017 Free Software Foundation, Inc.
  5. Permission is granted to copy, distribute and/or modify this document
  6. under the terms of the GNU Free Documentation License, Version 1.3 or
  7. any later version published by the Free Software Foundation; with the
  8. Invariant Sections being "GNU General Public License" and "Funding
  9. Free Software", the Front-Cover texts being (a) (see below), and with
  10. the Back-Cover Texts being (b) (see below). A copy of the license is
  11. included in the section entitled "GNU Free Documentation License".
  12. (a) The FSF's Front-Cover Text is:
  13. A GNU Manual
  14. (b) The FSF's Back-Cover Text is:
  15. You have freedom to copy and modify this GNU Manual, like GNU
  16. software. Copies published by the Free Software Foundation raise
  17. funds for GNU development. -->
  18. <!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
  19. <head>
  20. <title>Untitled Document: Mini Symbols</title>
  21. <meta name="description" content="Untitled Document: Mini Symbols">
  22. <meta name="keywords" content="Untitled Document: Mini Symbols">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  27. <link href="index.html#Top" rel="start" title="Top">
  28. <link href="BFD-Index.html#BFD-Index" rel="index" title="BFD Index">
  29. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  30. <link href="Symbols.html#Symbols" rel="up" title="Symbols">
  31. <link href="typedef-asymbol.html#typedef-asymbol" rel="next" title="typedef asymbol">
  32. <link href="Writing-Symbols.html#Writing-Symbols" rel="prev" title="Writing Symbols">
  33. <style type="text/css">
  34. <!--
  35. a.summary-letter {text-decoration: none}
  36. blockquote.smallquotation {font-size: smaller}
  37. div.display {margin-left: 3.2em}
  38. div.example {margin-left: 3.2em}
  39. div.indentedblock {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
  44. div.smalllisp {margin-left: 3.2em}
  45. kbd {font-style:oblique}
  46. pre.display {font-family: inherit}
  47. pre.format {font-family: inherit}
  48. pre.menu-comment {font-family: serif}
  49. pre.menu-preformatted {font-family: serif}
  50. pre.smalldisplay {font-family: inherit; font-size: smaller}
  51. pre.smallexample {font-size: smaller}
  52. pre.smallformat {font-family: inherit; font-size: smaller}
  53. pre.smalllisp {font-size: smaller}
  54. span.nocodebreak {white-space:nowrap}
  55. span.nolinebreak {white-space:nowrap}
  56. span.roman {font-family:serif; font-weight:normal}
  57. span.sansserif {font-family:sans-serif; font-weight:normal}
  58. ul.no-bullet {list-style: none}
  59. -->
  60. </style>
  61. </head>
  62. <body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
  63. <a name="Mini-Symbols"></a>
  64. <div class="header">
  65. <p>
  66. Next: <a href="typedef-asymbol.html#typedef-asymbol" accesskey="n" rel="next">typedef asymbol</a>, Previous: <a href="Writing-Symbols.html#Writing-Symbols" accesskey="p" rel="prev">Writing Symbols</a>, Up: <a href="Symbols.html#Symbols" accesskey="u" rel="up">Symbols</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>
  67. </div>
  68. <hr>
  69. <a name="Mini-Symbols-1"></a>
  70. <h4 class="subsection">2.7.3 Mini Symbols</h4>
  71. <p>Mini symbols provide read-only access to the symbol table.
  72. They use less memory space, but require more time to access.
  73. They can be useful for tools like nm or objdump, which may
  74. have to handle symbol tables of extremely large executables.
  75. </p>
  76. <p>The <code>bfd_read_minisymbols</code> function will read the symbols
  77. into memory in an internal form. It will return a <code>void *</code>
  78. pointer to a block of memory, a symbol count, and the size of
  79. each symbol. The pointer is allocated using <code>malloc</code>, and
  80. should be freed by the caller when it is no longer needed.
  81. </p>
  82. <p>The function <code>bfd_minisymbol_to_symbol</code> will take a pointer
  83. to a minisymbol, and a pointer to a structure returned by
  84. <code>bfd_make_empty_symbol</code>, and return a <code>asymbol</code> structure.
  85. The return value may or may not be the same as the value from
  86. <code>bfd_make_empty_symbol</code> which was passed in.
  87. </p>
  88. </body>
  89. </html>