Untitled Document: Top

Table of Contents

  • 1 Introduction
    • 1.1 History
    • 1.2 How To Use BFD
    • 1.3 What BFD Version 2 Can Do
      • 1.3.1 Information Loss
      • 1.3.2 The BFD canonical object-file format
  • 2 BFD Front End
    • 2.1 typedef bfd
    • 2.2 Error reporting
      • 2.2.1 Type bfd_error_type
        • 2.2.1.1 bfd_get_error
        • 2.2.1.2 bfd_set_error
        • 2.2.1.3 bfd_set_input_error
        • 2.2.1.4 bfd_errmsg
        • 2.2.1.5 bfd_perror
      • 2.2.2 BFD error handler
        • 2.2.2.1 bfd_set_error_handler
        • 2.2.2.2 bfd_set_error_program_name
      • 2.2.3 BFD assert handler
        • 2.2.3.1 bfd_set_assert_handler
    • 2.3 Miscellaneous
      • 2.3.1 Miscellaneous functions
        • 2.3.1.1 bfd_get_reloc_upper_bound
        • 2.3.1.2 bfd_canonicalize_reloc
        • 2.3.1.3 bfd_set_reloc
        • 2.3.1.4 bfd_set_file_flags
        • 2.3.1.5 bfd_get_arch_size
        • 2.3.1.6 bfd_get_sign_extend_vma
        • 2.3.1.7 bfd_set_start_address
        • 2.3.1.8 bfd_get_gp_size
        • 2.3.1.9 bfd_set_gp_size
        • 2.3.1.10 bfd_scan_vma
        • 2.3.1.11 bfd_copy_private_header_data
        • 2.3.1.12 bfd_copy_private_bfd_data
        • 2.3.1.13 bfd_set_private_flags
        • 2.3.1.14 Other functions
        • 2.3.1.15 bfd_alt_mach_code
        • 2.3.1.16 bfd_emul_get_maxpagesize
        • 2.3.1.17 bfd_emul_set_maxpagesize
        • 2.3.1.18 bfd_emul_get_commonpagesize
        • 2.3.1.19 bfd_emul_set_commonpagesize
        • 2.3.1.20 bfd_demangle
        • 2.3.1.21 bfd_update_compression_header
        • 2.3.1.22 bfd_check_compression_header
        • 2.3.1.23 bfd_get_compression_header_size
        • 2.3.1.24 bfd_convert_section_size
        • 2.3.1.25 bfd_convert_section_contents
        • 2.3.1.26 struct bfd_iovec
        • 2.3.1.27 bfd_get_mtime
        • 2.3.1.28 bfd_get_size
        • 2.3.1.29 bfd_get_file_size
        • 2.3.1.30 bfd_mmap
    • 2.4 Memory Usage
    • 2.5 Initialization
      • 2.5.1 Initialization functions
        • 2.5.1.1 bfd_init
    • 2.6 Sections
      • 2.6.1 Section input
      • 2.6.2 Section output
      • 2.6.3 Link orders
      • 2.6.4 typedef asection
      • 2.6.5 Section prototypes
        • 2.6.5.1 bfd_section_list_clear
        • 2.6.5.2 bfd_get_section_by_name
        • 2.6.5.3 bfd_get_next_section_by_name
        • 2.6.5.4 bfd_get_linker_section
        • 2.6.5.5 bfd_get_section_by_name_if
        • 2.6.5.6 bfd_get_unique_section_name
        • 2.6.5.7 bfd_make_section_old_way
        • 2.6.5.8 bfd_make_section_anyway_with_flags
        • 2.6.5.9 bfd_make_section_anyway
        • 2.6.5.10 bfd_make_section_with_flags
        • 2.6.5.11 bfd_make_section
        • 2.6.5.12 bfd_get_next_section_id
        • 2.6.5.13 bfd_set_section_flags
        • 2.6.5.14 bfd_rename_section
        • 2.6.5.15 bfd_map_over_sections
        • 2.6.5.16 bfd_sections_find_if
        • 2.6.5.17 bfd_set_section_size
        • 2.6.5.18 bfd_set_section_contents
        • 2.6.5.19 bfd_get_section_contents
        • 2.6.5.20 bfd_malloc_and_get_section
        • 2.6.5.21 bfd_copy_private_section_data
        • 2.6.5.22 bfd_generic_is_group_section
        • 2.6.5.23 bfd_generic_discard_group
    • 2.7 Symbols
      • 2.7.1 Reading symbols
      • 2.7.2 Writing symbols
      • 2.7.3 Mini Symbols
      • 2.7.4 typedef asymbol
      • 2.7.5 Symbol handling functions
        • 2.7.5.1 bfd_get_symtab_upper_bound
        • 2.7.5.2 bfd_is_local_label
        • 2.7.5.3 bfd_is_local_label_name
        • 2.7.5.4 bfd_is_target_special_symbol
        • 2.7.5.5 bfd_canonicalize_symtab
        • 2.7.5.6 bfd_set_symtab
        • 2.7.5.7 bfd_print_symbol_vandf
        • 2.7.5.8 bfd_make_empty_symbol
        • 2.7.5.9 _bfd_generic_make_empty_symbol
        • 2.7.5.10 bfd_make_debug_symbol
        • 2.7.5.11 bfd_decode_symclass
        • 2.7.5.12 bfd_is_undefined_symclass
        • 2.7.5.13 bfd_symbol_info
        • 2.7.5.14 bfd_copy_private_symbol_data
    • 2.8 Archives
      • 2.8.1 Archive functions
        • 2.8.1.1 bfd_get_next_mapent
        • 2.8.1.2 bfd_set_archive_head
        • 2.8.1.3 bfd_openr_next_archived_file
    • 2.9 File formats
      • 2.9.1 File format functions
        • 2.9.1.1 bfd_check_format
        • 2.9.1.2 bfd_check_format_matches
        • 2.9.1.3 bfd_set_format
        • 2.9.1.4 bfd_format_string
    • 2.10 Relocations
      • 2.10.1 typedef arelent
        • 2.10.1.1 enum complain_overflow
        • 2.10.1.2 reloc_howto_type
        • 2.10.1.3 The HOWTO Macro
        • 2.10.1.4 bfd_get_reloc_size
        • 2.10.1.5 arelent_chain
        • 2.10.1.6 bfd_check_overflow
        • 2.10.1.7 bfd_reloc_offset_in_range
        • 2.10.1.8 bfd_perform_relocation
        • 2.10.1.9 bfd_install_relocation
      • 2.10.2 The howto manager
        • 2.10.2.1 bfd_reloc_code_type
        • 2.10.2.2 bfd_reloc_type_lookup
        • 2.10.2.3 bfd_default_reloc_type_lookup
        • 2.10.2.4 bfd_get_reloc_code_name
        • 2.10.2.5 bfd_generic_relax_section
        • 2.10.2.6 bfd_generic_gc_sections
        • 2.10.2.7 bfd_generic_lookup_section_flags
        • 2.10.2.8 bfd_generic_merge_sections
        • 2.10.2.9 bfd_generic_get_relocated_section_contents
        • 2.10.2.10 _bfd_generic_set_reloc
        • 2.10.2.11 _bfd_unrecognized_reloc
    • 2.11 Core files
      • 2.11.1 Core file functions
        • 2.11.1.1 bfd_core_file_failing_command
        • 2.11.1.2 bfd_core_file_failing_signal
        • 2.11.1.3 bfd_core_file_pid
        • 2.11.1.4 core_file_matches_executable_p
        • 2.11.1.5 generic_core_file_matches_executable_p
    • 2.12 Targets
      • 2.12.1 bfd_target
        • 2.12.1.1 bfd_set_default_target
        • 2.12.1.2 bfd_find_target
        • 2.12.1.3 bfd_get_target_info
        • 2.12.1.4 bfd_target_list
        • 2.12.1.5 bfd_iterate_over_targets
        • 2.12.1.6 bfd_flavour_name
    • 2.13 Architectures
      • 2.13.1 bfd_architecture
      • 2.13.2 bfd_arch_info
        • 2.13.2.1 bfd_printable_name
        • 2.13.2.2 bfd_scan_arch
        • 2.13.2.3 bfd_arch_list
        • 2.13.2.4 bfd_arch_get_compatible
        • 2.13.2.5 bfd_default_arch_struct
        • 2.13.2.6 bfd_set_arch_info
        • 2.13.2.7 bfd_default_set_arch_mach
        • 2.13.2.8 bfd_get_arch
        • 2.13.2.9 bfd_get_mach
        • 2.13.2.10 bfd_arch_bits_per_byte
        • 2.13.2.11 bfd_arch_bits_per_address
        • 2.13.2.12 bfd_default_compatible
        • 2.13.2.13 bfd_default_scan
        • 2.13.2.14 bfd_get_arch_info
        • 2.13.2.15 bfd_lookup_arch
        • 2.13.2.16 bfd_printable_arch_mach
        • 2.13.2.17 bfd_octets_per_byte
        • 2.13.2.18 bfd_arch_mach_octets_per_byte
        • 2.13.2.19 bfd_arch_default_fill
    • 2.14 Opening and closing BFDs
      • 2.14.1 Functions for opening and closing
        • 2.14.1.1 bfd_fopen
        • 2.14.1.2 bfd_openr
        • 2.14.1.3 bfd_fdopenr
        • 2.14.1.4 bfd_openstreamr
        • 2.14.1.5 bfd_openr_iovec
        • 2.14.1.6 bfd_openw
        • 2.14.1.7 bfd_close
        • 2.14.1.8 bfd_close_all_done
        • 2.14.1.9 bfd_create
        • 2.14.1.10 bfd_make_writable
        • 2.14.1.11 bfd_make_readable
        • 2.14.1.12 bfd_alloc
        • 2.14.1.13 bfd_alloc2
        • 2.14.1.14 bfd_zalloc
        • 2.14.1.15 bfd_zalloc2
        • 2.14.1.16 bfd_calc_gnu_debuglink_crc32
        • 2.14.1.17 bfd_get_debug_link_info_1
        • 2.14.1.18 bfd_get_debug_link_info
        • 2.14.1.19 bfd_get_alt_debug_link_info
        • 2.14.1.20 separate_debug_file_exists
        • 2.14.1.21 separate_alt_debug_file_exists
        • 2.14.1.22 find_separate_debug_file
        • 2.14.1.23 bfd_follow_gnu_debuglink
        • 2.14.1.24 bfd_follow_gnu_debugaltlink
        • 2.14.1.25 bfd_create_gnu_debuglink_section
        • 2.14.1.26 bfd_fill_in_gnu_debuglink_section
        • 2.14.1.27 get_build_id
        • 2.14.1.28 get_build_id_name
        • 2.14.1.29 check_build_id_file
        • 2.14.1.30 bfd_follow_build_id_debuglink
    • 2.15 Implementation details
      • 2.15.1 Internal functions
        • 2.15.1.1 bfd_write_bigendian_4byte_int
        • 2.15.1.2 bfd_put_size
        • 2.15.1.3 bfd_get_size
        • 2.15.1.4 bfd_h_put_size
        • 2.15.1.5 bfd_log2
    • 2.16 File caching
      • 2.16.1 Caching functions
        • 2.16.1.1 bfd_cache_init
        • 2.16.1.2 bfd_cache_close
        • 2.16.1.3 bfd_cache_close_all
        • 2.16.1.4 bfd_open_file
    • 2.17 Linker Functions
      • 2.17.1 Creating a linker hash table
      • 2.17.2 Adding symbols to the hash table
        • 2.17.2.1 Differing file formats
        • 2.17.2.2 Adding symbols from an object file
        • 2.17.2.3 Adding symbols from an archive
      • 2.17.3 Performing the final link
        • 2.17.3.1 Information provided by the linker
        • 2.17.3.2 Relocating the section contents
        • 2.17.3.3 Writing the symbol table
        • 2.17.3.4 bfd_link_split_section
        • 2.17.3.5 bfd_section_already_linked
        • 2.17.3.6 bfd_generic_define_common_symbol
        • 2.17.3.7 bfd_generic_define_start_stop
        • 2.17.3.8 bfd_find_version_for_sym
        • 2.17.3.9 bfd_hide_sym_by_version
        • 2.17.3.10 bfd_link_check_relocs
        • 2.17.3.11 _bfd_generic_link_check_relocs
        • 2.17.3.12 bfd_merge_private_bfd_data
        • 2.17.3.13 _bfd_generic_verify_endian_match
    • 2.18 Hash Tables
      • 2.18.1 Creating and freeing a hash table
      • 2.18.2 Looking up or entering a string
      • 2.18.3 Traversing a hash table
      • 2.18.4 Deriving a new hash table type
        • 2.18.4.1 Define the derived structures
        • 2.18.4.2 Write the derived creation routine
        • 2.18.4.3 Write other derived routines
  • 3 BFD back ends
    • 3.1 What to Put Where
    • 3.2 a.out backends
      • 3.2.1 Relocations
      • 3.2.2 Internal entry points
        • 3.2.2.1 aout_size_swap_exec_header_in
        • 3.2.2.2 aout_size_swap_exec_header_out
        • 3.2.2.3 aout_size_some_aout_object_p
        • 3.2.2.4 aout_size_mkobject
        • 3.2.2.5 aout_size_machine_type
        • 3.2.2.6 aout_size_set_arch_mach
        • 3.2.2.7 aout_size_new_section_hook
    • 3.3 coff backends
      • 3.3.1 Porting to a new version of coff
      • 3.3.2 How the coff backend works
        • 3.3.2.1 File layout
        • 3.3.2.2 Coff long section names
        • 3.3.2.3 Bit twiddling
        • 3.3.2.4 Symbol reading
        • 3.3.2.5 Symbol writing
        • 3.3.2.6 coff_symbol_type
        • 3.3.2.7 bfd_coff_backend_data
        • 3.3.2.8 Writing relocations
        • 3.3.2.9 Reading linenumbers
        • 3.3.2.10 Reading relocations
    • 3.4 ELF backends
    • 3.5 mmo backend
      • 3.5.1 File layout
      • 3.5.2 Symbol table format
      • 3.5.3 mmo section mapping
  • BFD Index

Next: Overview, Previous: (dir), Up: (dir)   [Contents][Index]


Top

• Overview:    Overview of BFD
• BFD front end:    BFD front end
• BFD back ends:    BFD back ends
• GNU Free Documentation License:    GNU Free Documentation License
• BFD Index:    BFD Index

Next: Overview, Previous: (dir), Up: (dir)   [Contents][Index]