DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(bfd.info) Targets

Info Catalog (bfd.info) Core Files (bfd.info) BFD front end (bfd.info) Architectures
 
 Targets
 =======
 
    *Description*
 Each port of BFD to a different machine requries the creation of a
 target back end. All the back end provides to the root part of BFD is a
 structure containing pointers to functions which perform certain low
 level operations on files. BFD translates the applications's requests
 through a pointer into calls to the back end routines.
 
    When a file is opened with `bfd_openr', its format and target are
 unknown. BFD uses various mechanisms to determine how to interpret the
 file. The operations performed are:
 
    * Create a BFD by calling the internal routine `_bfd_new_bfd', then
      call `bfd_find_target' with the target string supplied to
      `bfd_openr' and the new BFD pointer.
 
    * If a null target string was provided to `bfd_find_target', look up
      the environment variable `GNUTARGET' and use that as the target
      string.
 
    * If the target string is still `NULL', or the target string is
      `default', then use the first item in the target vector as the
      target type, and set `target_defaulted' in the BFD to cause
      `bfd_check_format' to loop through all the targets.  
      bfd_target.   Formats.
 
    * Otherwise, inspect the elements in the target vector one by one,
      until a match on target name is found. When found, use it.
 
    * Otherwise return the error `bfd_error_invalid_target' to
      `bfd_openr'.
 
    * `bfd_openr' attempts to open the file using `bfd_open_file', and
      returns the BFD.
    Once the BFD has been opened and the target selected, the file
 format may be determined. This is done by calling `bfd_check_format' on
 the BFD with a suggested format.  If `target_defaulted' has been set,
 each possible target type is tried to see if it recognizes the
 specified format.  `bfd_check_format' returns `true' when the caller
 guesses right.
 

Menu

 
* bfd_target
 
Info Catalog (bfd.info) Core Files (bfd.info) BFD front end (bfd.info) Architectures
automatically generated byinfo2html