3.9 Symbol table functions
The `BFD_JUMP_TABLE_SYMBOLS' macro is used for functions which deal
with symbols.
- `_get_symtab_upper_bound'
- Return a sensible upper bound on the amount of memory which will be
required to read the symbol table. In practice most targets return the
amount of memory required to hold `asymbol' pointers for all the
symbols plus a trailing `NULL' entry, and store the actual symbol
information in BFD private data. This is called via
`bfd_get_symtab_upper_bound'. The corresponding field in the
target vector is named `_bfd_get_symtab_upper_bound'.
- `_canonicalize_symtab'
- Read in the symbol table. This is called via
`bfd_canonicalize_symtab'. The corresponding field in the target
vector is named `_bfd_canonicalize_symtab'.
- `_make_empty_symbol'
- Create an empty symbol for the BFD. This is needed because most targets
store extra information with each symbol by allocating a structure
larger than an `asymbol' and storing the extra information at the
end. This function will allocate the right amount of memory, and return
what looks like a pointer to an empty `asymbol'. This is called
via `bfd_make_empty_symbol'. The corresponding field in the target
vector is named `_bfd_make_empty_symbol'.
- `_print_symbol'
- Print information about the symbol. This is called via
`bfd_print_symbol'. One of the arguments indicates what sort of
information should be printed:
- `bfd_print_symbol_name'
- Just print the symbol name.
- `bfd_print_symbol_more'
- Print the symbol name and some interesting flags. I don't think
anything actually uses this.
- `bfd_print_symbol_all'
- Print all information about the symbol. This is used by `objdump'
when run with the `-t' option.
The corresponding field in the target vector is named
`_bfd_print_symbol'.
- `_get_symbol_info'
- Return a standard set of information about the symbol. This is called
via `bfd_symbol_info'. The corresponding field in the target
vector is named `_bfd_get_symbol_info'.
- `_bfd_is_local_label_name'
- Return whether the given string would normally represent the name of a
local label. This is called via `bfd_is_local_label' and
`bfd_is_local_label_name'. Local labels are normally discarded by
the assembler. In the linker, this defines the difference between the
`-x' and `-X' options.
- `_get_lineno'
- Return line number information for a symbol. This is only meaningful
for a COFF target. This is called when writing out COFF line numbers.
- `_find_nearest_line'
- Given an address within a section, use the debugging information to find
the matching file name, function name, and line number, if any. This is
called via `bfd_find_nearest_line'. The corresponding field in the
target vector is named `_bfd_find_nearest_line'.
- `_bfd_make_debug_symbol'
- Make a debugging symbol. This is only meaningful for a COFF target,
where it simply returns a symbol which will be placed in the
`N_DEBUG' section when it is written out. This is called via
`bfd_make_debug_symbol'.
- `_read_minisymbols'
- Minisymbols are used to reduce the memory requirements of programs like
`nm'. A minisymbol is a cookie pointing to internal symbol
information which the caller can use to extract complete symbol
information. This permits BFD to not convert all the symbols into
generic form, but to instead convert them one at a time. This is called
via `bfd_read_minisymbols'. Most targets do not implement this,
and just use generic support which is based on using standard
`asymbol' structures.
- `_minisymbol_to_symbol'
- Convert a minisymbol to a standard `asymbol'. This is called via
`bfd_minisymbol_to_symbol'.
This document was generated
by system on December, 2 2004
using texi2html