GDB (xrefs)

Classes | Macros | Typedefs | Functions
/tmp/gdb-8.1/gdb/gdb_bfd.h File Reference
`#include "registry.h"`
`#include "common/gdb_ref_ptr.h"`

Go to the source code of this file.

## Classes
struct | gdb_bfd_ref_policy

## Macros
#define | TARGET_SYSROOT_PREFIX "target:"

## Typedefs
typedef gdb::ref_ptr< struct bfd, gdb_bfd_ref_policy > | gdb_bfd_ref_ptr

## Functions
| DECLARE_REGISTRY (bfd)
int | is_target_filename (const char *name)
int | gdb_bfd_has_target_filename (struct bfd *abfd)
void | gdb_bfd_ref (struct bfd *abfd)
void | gdb_bfd_unref (struct bfd *abfd)
static gdb_bfd_ref_ptr | new_bfd_ref (struct bfd *abfd)
gdb_bfd_ref_ptr | gdb_bfd_open (const char *name, const char *target, int fd)
void | gdb_bfd_mark_parent (bfd *child, bfd *parent)
void | gdb_bfd_record_inclusion (bfd *includer, bfd *includee)
const gdb_byte * | gdb_bfd_map_section (asection *section, bfd_size_type *size)
int | gdb_bfd_crc (struct bfd *abfd, unsigned long *crc_out)
gdb_bfd_ref_ptr | gdb_bfd_fopen (const char *, const char *, const char *, int)
gdb_bfd_ref_ptr | gdb_bfd_openr (const char *, const char *)
gdb_bfd_ref_ptr | gdb_bfd_openw (const char *, const char *)
gdb_bfd_ref_ptr | gdb_bfd_openr_iovec (const char *filename, const char *target, void *(*open_func)(struct bfd *nbfd, void *open_closure), void *open_closure, file_ptr(*pread_func)(struct bfd *nbfd, void *stream, void *buf, file_ptr nbytes, file_ptr offset), int(*close_func)(struct bfd *nbfd, void *stream), int(*stat_func)(struct bfd *abfd, void *stream, struct stat *sb))
gdb_bfd_ref_ptr | gdb_bfd_openr_next_archived_file (bfd *archive, bfd *previous)
gdb_bfd_ref_ptr | gdb_bfd_fdopenr (const char *filename, const char *target, int fd)
int | gdb_bfd_section_index (bfd *abfd, asection *section)
int | gdb_bfd_count_sections (bfd *abfd)
int | gdb_bfd_requires_relocations (bfd *abfd)

## Macro Definition Documentation

## ◆ TARGET_SYSROOT_PREFIX

#define TARGET_SYSROOT_PREFIX "target:"

Definition at line 31 of file gdb_bfd.h.

Referenced by captured_main_1(), exec_file_attach(), gdb_bfd_iovec_fileio_open(), gdb_bfd_open(), gdb_sysroot_changed(), gdbsim_open(), is_target_filename(), remote_filesystem_is_local(), remote_follow_exec(), and solib_find_1().

## Typedef Documentation

## ◆ gdb_bfd_ref_ptr

typedef gdb::ref_ptr<struct bfd, gdb_bfd_ref_policy> gdb_bfd_ref_ptr

Definition at line 69 of file gdb_bfd.h.

## Function Documentation

## ◆ DECLARE_REGISTRY()

DECLARE_REGISTRY | ( | bfd |  | ) |

## ◆ gdb_bfd_count_sections()

int gdb_bfd_count_sections | ( | bfd * | abfd | ) |

Definition at line 906 of file gdb_bfd.c.

Referenced by build_objfile_section_table(), default_symfile_offsets(), objfile_relocate(), solib_target_relocate_section_addresses(), and syms_from_objfile_1().

## ◆ gdb_bfd_crc()

int gdb_bfd_crc | ( | struct bfd * | abfd,
|  | unsigned long * | crc_out
| ) |  |

Definition at line 756 of file gdb_bfd.c.

References gdb_bfd_data::crc, gdb_bfd_data::crc_computed, and get_file_crc().

Referenced by separate_debug_file_exists().

## ◆ gdb_bfd_fdopenr()

gdb_bfd_ref_ptr gdb_bfd_fdopenr | ( | const char * | filename,
|  | const char * | target,
|  | int | fd
| ) |  |

Definition at line 874 of file gdb_bfd.c.

References new_bfd_ref().

## ◆ gdb_bfd_fopen()

gdb_bfd_ref_ptr gdb_bfd_fopen | ( | const char * | ,
|  | const char * | ,
|  | const char * | ,
|  | int |
| ) |  |

Definition at line 773 of file gdb_bfd.c.

References new_bfd_ref().

Referenced by core_open(), and exec_file_attach().

## ◆ gdb_bfd_has_target_filename()

int gdb_bfd_has_target_filename | ( | struct bfd * | abfd | ) |

Definition at line 216 of file gdb_bfd.c.

References is_target_filename().

Referenced by solib_bfd_fopen(), and symfile_bfd_open().

## ◆ gdb_bfd_map_section()

const gdb_byte* gdb_bfd_map_section | ( | asection * | section,
|  | bfd_size_type * | size
| ) |  |

Definition at line 645 of file gdb_bfd.c.

References _, gdb_bfd_section_data::data, error(), gdb_assert, get_section_descriptor(), gdb_bfd_section_data::map_addr, MAP_FAILED, gdb_bfd_section_data::map_len, memset(), gdb_bfd_section_data::size, and size.

Referenced by dwarf2_read_section().

## ◆ gdb_bfd_mark_parent()

void gdb_bfd_mark_parent | ( | bfd * | child,
|  | bfd * | parent
| ) |  |

Definition at line 829 of file gdb_bfd.c.

References gdb_bfd_data::archive_bfd, gdb_assert, and gdb_bfd_ref().

Referenced by gdb_bfd_mach_o_fat_extract(), and gdb_bfd_openr_next_archived_file().

## ◆ gdb_bfd_open()

gdb_bfd_ref_ptr gdb_bfd_open | ( | const char * | name,
|  | const char * | target,
|  | int | fd
| ) |  |

Definition at line 383 of file gdb_bfd.c.

References bfd_sharing, current_inferior(), debug_bfd_cache, gdb_bfd_cache_search::device_id, eq_bfd(), gdb_bfd_cache_search::filename, fprintf_unfiltered(), gdb_assert, gdb_bfd_cache, gdb_bfd_iovec_fileio_close(), gdb_bfd_iovec_fileio_fstat(), gdb_bfd_iovec_fileio_open(), gdb_bfd_iovec_fileio_pread(), gdb_bfd_openr_iovec(), gdb_open_cloexec(), gdb_stdlog, hash(), hash_bfd(), host_address_to_string, gdb_bfd_cache_search::inode, is_target_filename(), gdb_bfd_cache_search::mtime, name, new_bfd_ref(), O_BINARY, gdb_bfd_cache_search::size, target_filesystem_is_local, TARGET_SYSROOT_PREFIX, xcalloc(), and xfree().

Referenced by build_id_to_debug_bfd(), compile_object_load(), darwin_solib_get_all_image_info_addr_at_init(), dwarf2_get_dwz_file(), exec_file_attach(), generic_load(), macho_symfile_read_all_oso(), reread_symbols(), separate_debug_file_exists(), solib_bfd_fopen(), symfile_bfd_open(), try_open_dwop_file(), windows_make_so(), and windows_xfer_shared_library().

## ◆ gdb_bfd_openr()

gdb_bfd_ref_ptr gdb_bfd_openr | ( | const char * | ,
|  | const char * |
| ) |  |

Definition at line 784 of file gdb_bfd.c.

References new_bfd_ref().

Referenced by bfd_openr_or_error(), and macho_check_dsym().

## ◆ gdb_bfd_openr_iovec()

gdb_bfd_ref_ptr gdb_bfd_openr_iovec | ( | const char * | filename,
|  | const char * | target,
|  | void *(*)(struct bfd *nbfd, void *open_closure) | open_func,
|  | void * | open_closure,
|  | file_ptr(*)(struct bfd *nbfd, void *stream, void *buf, file_ptr nbytes, file_ptr offset) | pread_func,
|  | int(*)(struct bfd *nbfd, void *stream) | close_func,
|  | int(*)(struct bfd *abfd, void *stream, struct stat *sb) | stat_func
| ) |  |

Definition at line 804 of file gdb_bfd.c.

References new_bfd_ref().

Referenced by bfd_open_from_target_memory(), find_separate_debug_file_in_section(), gdb_bfd_open(), spu_bfd_fopen(), and spu_bfd_open().

## ◆ gdb_bfd_openr_next_archived_file()

gdb_bfd_ref_ptr gdb_bfd_openr_next_archived_file | ( | bfd * | archive,
|  | bfd * | previous
| ) |  |

Definition at line 850 of file gdb_bfd.c.

References gdb_bfd_mark_parent().

Referenced by macho_symfile_read_all_oso(), and solib_aix_bfd_open().

## ◆ gdb_bfd_openw()

gdb_bfd_ref_ptr gdb_bfd_openw | ( | const char * | ,
|  | const char * |
| ) |  |

Definition at line 794 of file gdb_bfd.c.

References new_bfd_ref().

Referenced by bfd_openw_or_error(), and create_gcore_bfd().

## ◆ gdb_bfd_record_inclusion()

void gdb_bfd_record_inclusion | ( | bfd * | includer,
|  | bfd * | includee
| ) |  |

Definition at line 863 of file gdb_bfd.c.

References gdb_bfd_data::included_bfds, and new_bfd_ref().

Referenced by dwarf2_get_dwz_file(), and try_open_dwop_file().

## ◆ gdb_bfd_ref()

void gdb_bfd_ref | ( | struct bfd * | abfd | ) |

Definition at line 523 of file gdb_bfd.c.

References all_bfds, debug_bfd_cache, fprintf_unfiltered(), gdb_assert, gdb_bfd_data::gdb_bfd_data(), gdb_stdlog, host_address_to_string, and gdb_bfd_data::refc.

Referenced by gdb_bfd_mach_o_fat_extract(), gdb_bfd_mark_parent(), gdb_bfd_ref_policy::incref(), new_bfd_ref(), objfile::objfile(), and target_bfd_reopen().

## ◆ gdb_bfd_requires_relocations()

int gdb_bfd_requires_relocations | ( | bfd * | abfd | ) |

Definition at line 914 of file gdb_bfd.c.

References gdb_bfd_data::needs_relocations, and gdb_bfd_data::relocation_computed.

Referenced by get_objfile_bfd_data().

## ◆ gdb_bfd_section_index()

int gdb_bfd_section_index | ( | bfd * | abfd,
|  | asection * | section
| ) |  |

Definition at line 888 of file gdb_bfd.c.

Referenced by add_to_objfile_sections_full(), build_section_addr_info_from_bfd(), build_section_addr_info_from_section_table(), cs_to_section(), find_targ_sec(), init_entry_point_info(), macho_symtab_add_minsym(), place_section(), print_bfd_section_info(), record_minimal_symbol(), and solib_target_relocate_section_addresses().

## ◆ gdb_bfd_unref()

void gdb_bfd_unref | ( | struct bfd * | abfd | ) |

Definition at line 561 of file gdb_bfd.c.

References all_bfds, gdb_bfd_data::archive_bfd, debug_bfd_cache, gdb_bfd_data::device_id, gdb_bfd_cache_search::device_id, gdb_bfd_cache_search::filename, fprintf_unfiltered(), gdb_assert, gdb_bfd_cache, gdb_bfd_close_or_warn(), gdb_bfd_unref(), gdb_stdlog, hash(), host_address_to_string, gdb_bfd_data::inode, gdb_bfd_cache_search::inode, gdb_bfd_data::mtime, gdb_bfd_cache_search::mtime, gdb_bfd_data::refc, gdb_bfd_data::size, and gdb_bfd_cache_search::size.

Referenced by clear_so(), core_close(), gdb_bfd_ref_policy::decref(), dwarf2_per_objfile_free(), exec_close(), free_dwo_file(), gdb_bfd_unref(), target_bfd_xclose(), and objfile::~objfile().

## ◆ is_target_filename()

int is_target_filename | ( | const char * | name | ) |

Definition at line 208 of file gdb_bfd.c.

References name, startswith(), and TARGET_SYSROOT_PREFIX.

Referenced by exec_file_attach(), gdb_bfd_has_target_filename(), gdb_bfd_iovec_fileio_open(), gdb_bfd_open(), gdbsim_open(), load_auto_scripts_for_objfile(), objfile::objfile(), remote_follow_exec(), solib_find_1(), and symfile_bfd_open().

## ◆ new_bfd_ref()

static gdb_bfd_ref_ptr new_bfd_ref | ( | struct bfd * | abfd | ) |
| inline static

Definition at line 75 of file gdb_bfd.h.

References gdb_bfd_ref().

Referenced by exec_file_attach(), gdb_bfd_fdopenr(), gdb_bfd_fopen(), gdb_bfd_open(), gdb_bfd_openr(), gdb_bfd_openr_iovec(), gdb_bfd_openw(), gdb_bfd_record_inclusion(), and symbol_file_add_from_memory().