blob: e9a2bd3d054f385a0a703db5500082385f84b949 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- This file documents the BFD library.
Copyright (C) 1991 - 2013 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.3 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. -->
<!-- Created by GNU Texinfo 5.2, http://www.gnu.org/software/texinfo/ -->
<head>
<title>Untitled Document: Mini Symbols</title>
<meta name="description" content="Untitled Document: Mini Symbols">
<meta name="keywords" content="Untitled Document: Mini Symbols">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="BFD-Index.html#BFD-Index" rel="index" title="BFD Index">
<link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Symbols.html#Symbols" rel="up" title="Symbols">
<link href="typedef-asymbol.html#typedef-asymbol" rel="next" title="typedef asymbol">
<link href="Writing-Symbols.html#Writing-Symbols" rel="prev" title="Writing Symbols">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.indentedblock {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smallindentedblock {margin-left: 3.2em; font-size: smaller}
div.smalllisp {margin-left: 3.2em}
kbd {font-style:oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nocodebreak {white-space:nowrap}
span.nolinebreak {white-space:nowrap}
span.roman {font-family:serif; font-weight:normal}
span.sansserif {font-family:sans-serif; font-weight:normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<a name="Mini-Symbols"></a>
<div class="header">
<p>
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>
</div>
<hr>
<a name="Mini-Symbols-1"></a>
<h4 class="subsection">2.7.3 Mini Symbols</h4>
<p>Mini symbols provide read-only access to the symbol table.
They use less memory space, but require more time to access.
They can be useful for tools like nm or objdump, which may
have to handle symbol tables of extremely large executables.
</p>
<p>The <code>bfd_read_minisymbols</code> function will read the symbols
into memory in an internal form. It will return a <code>void *</code>
pointer to a block of memory, a symbol count, and the size of
each symbol. The pointer is allocated using <code>malloc</code>, and
should be freed by the caller when it is no longer needed.
</p>
<p>The function <code>bfd_minisymbol_to_symbol</code> will take a pointer
to a minisymbol, and a pointer to a structure returned by
<code>bfd_make_empty_symbol</code>, and return a <code>asymbol</code> structure.
The return value may or may not be the same as the value from
<code>bfd_make_empty_symbol</code> which was passed in.
</p>
</body>
</html>