bfd: Symbols

 
 2.7 Symbols
 ===========
 
 BFD tries to maintain as much symbol information as it can when it moves
 information from file to file.  BFD passes information to applications
 though the 'asymbol' structure.  When the application requests the
 symbol table, BFD reads the table in the native form and translates
 parts of it into the internal format.  To maintain more than the
 information passed to applications, some targets keep some information
 "behind the scenes" in a structure only the particular back end knows
 about.  For example, the coff back end keeps the original symbol table
 structure as well as the canonical structure when a BFD is read in.  On
 output, the coff back end can reconstruct the output symbol table so
 that no information is lost, even information unique to coff which BFD
 doesn't know or understand.  If a coff symbol table were read, but were
 written through an a.out back end, all the coff specific information
 would be lost.  The symbol table of a BFD is not necessarily read in
 until a canonicalize request is made.  Then the BFD back end fills in a
 table provided by the application with pointers to the canonical
 information.  To output symbols, the application provides BFD with a
 table of pointers to pointers to 'asymbol's.  This allows applications
 like the linker to output a symbol as it was read, since the "behind the
 scenes" information will be still available.

Menu