Next: , Previous: Archives, Up: BFD front end


2.9 File formats

A format is a BFD concept of high level file contents type. The formats supported by BFD are:

The BFD may contain data, symbols, relocations and debug info. The BFD contains other BFDs and an optional index. The BFD contains the result of an executable core dump.

2.9.1 File format functions

2.9.1.1 bfd_check_format

Synopsis

     bfd_boolean bfd_check_format (bfd *abfd, bfd_format format);

Description
Verify if the file attached to the BFD abfd is compatible with the format format (i.e., one of bfd_object, bfd_archive or bfd_core).

If the BFD has been set to a specific target before the call, only the named target and format combination is checked. If the target has not been set, or has been set to default, then all the known target backends is interrogated to determine a match. If the default target matches, it is used. If not, exactly one target must recognize the file, or an error results.

The function returns TRUE on success, otherwise FALSE with one of the following error codes:

2.9.1.2 bfd_check_format_matches

Synopsis

     bfd_boolean bfd_check_format_matches
        (bfd *abfd, bfd_format format, char ***matching);

Description
Like bfd_check_format, except when it returns FALSE with bfd_errno set to bfd_error_file_ambiguously_recognized. In that case, if matching is not NULL, it will be filled in with a NULL-terminated list of the names of the formats that matched, allocated with malloc. Then the user may choose a format and try again.

When done with the list that matching points to, the caller should free it.

2.9.1.3 bfd_set_format

Synopsis

     bfd_boolean bfd_set_format (bfd *abfd, bfd_format format);

Description
This function sets the file format of the BFD abfd to the format format. If the target set in the BFD does not support the format requested, the format is invalid, or the BFD is not open for writing, then an error occurs.

2.9.1.4 bfd_format_string

Synopsis

     const char *bfd_format_string (bfd_format format);

Description
Return a pointer to a const string invalid, object, archive, core, or unknown, depending upon the value of format.