GDB (xrefs)
|
#include "defs.h"
#include "symtab.h"
#include "gdbtypes.h"
#include "bfd.h"
#include "symfile.h"
#include "objfiles.h"
#include "buildsym.h"
#include "gdbcmd.h"
#include "gdbcore.h"
#include "mach-o.h"
#include "gdb_assert.h"
#include "aout/stab_gnu.h"
#include "vec.h"
#include "psympriv.h"
#include "complaints.h"
#include "gdb_bfd.h"
#include <string.h>
Go to the source code of this file.
Classes | |
struct | oso_el |
struct | macho_sym_hash_entry |
Defines | |
#define | DSYM_SUFFIX ".dSYM/Contents/Resources/DWARF/" |
Typedefs | |
typedef struct oso_el | oso_el |
Functions | |
DEF_VEC_O (oso_el) | |
static void | macho_new_init (struct objfile *objfile) |
static void | macho_symfile_init (struct objfile *objfile) |
static void | macho_register_oso (VEC(oso_el)**oso_vector_ptr, struct objfile *objfile, asymbol **oso_sym, asymbol **end_sym, unsigned int nbr_syms) |
static void | macho_symtab_add_minsym (struct objfile *objfile, const asymbol *sym) |
static void | macho_symtab_read (struct objfile *objfile, long number_of_symbols, asymbol **symbol_table, VEC(oso_el)**oso_vector_ptr) |
static int | get_archive_prefix_len (const char *name) |
static int | oso_el_compare_name (const void *vl, const void *vr) |
static struct bfd_hash_entry * | macho_sym_hash_newfunc (struct bfd_hash_entry *entry, struct bfd_hash_table *table, const char *string) |
static CORE_ADDR | macho_resolve_oso_sym_with_minsym (struct objfile *main_objfile, asymbol *sym) |
static void | macho_add_oso_symfile (oso_el *oso, bfd *abfd, const char *name, struct objfile *main_objfile, int symfile_flags) |
static void | macho_symfile_read_all_oso (VEC(oso_el)**oso_vector_ptr, struct objfile *main_objfile, int symfile_flags) |
static bfd * | macho_check_dsym (struct objfile *objfile, char **filenamep) |
static void | macho_symfile_read (struct objfile *objfile, int symfile_flags) |
static bfd_byte * | macho_symfile_relocate (struct objfile *objfile, asection *sectp, bfd_byte *buf) |
static void | macho_symfile_finish (struct objfile *objfile) |
static void | macho_symfile_offsets (struct objfile *objfile, const struct section_addr_info *addrs) |
void | _initialize_machoread (void) |
Variables | |
static unsigned int | mach_o_debug_level = 0 |
static struct sym_fns | macho_sym_fns |
initialize_file_ftype | _initialize_machoread |
#define DSYM_SUFFIX ".dSYM/Contents/Resources/DWARF/" |
Definition at line 788 of file machoread.c.
Referenced by macho_check_dsym().
void _initialize_machoread | ( | void | ) |
Definition at line 1049 of file machoread.c.
References _, add_setshow_zuinteger_cmd(), add_symtab_fns(), class_obscure, mach_o_debug_level, setdebuglist, and showdebuglist.
static int get_archive_prefix_len | ( | const char * | name | ) | [static] |
Definition at line 360 of file machoread.c.
References name, and strrchr().
Referenced by macho_symfile_read_all_oso().
static void macho_add_oso_symfile | ( | oso_el * | oso, |
bfd * | abfd, | ||
const char * | name, | ||
struct objfile * | main_objfile, | ||
int | symfile_flags | ||
) | [static] |
Definition at line 450 of file machoread.c.
References _, complaint(), do_cleanups(), oso_el::end_sym, objfile::flags, gdb_bfd_unref(), get_objfile_arch(), mach_o_debug_level, macho_resolve_oso_sym_with_minsym(), macho_sym_hash_newfunc(), make_cleanup_bfd_unref(), oso_el::mtime, oso_el::name, oso_el::nbr_syms, OBJF_READNOW, OBJF_REORDERED, OBJF_SHARED, OBJF_USERLOADED, oso_el::oso_sym, paddress(), printf_unfiltered(), macho_sym_hash_entry::sym, symbol_file_add_from_bfd(), symfile_complaints, SYMFILE_MAINLINE, SYMFILE_VERBOSE, warning(), and xmalloc().
Referenced by macho_symfile_read_all_oso().
static bfd* macho_check_dsym | ( | struct objfile * | objfile, |
char ** | filenamep | ||
) | [static] |
Definition at line 796 of file machoread.c.
References _, DSYM_SUFFIX, gdb_bfd_openr(), gdb_bfd_unref(), gnutarget, memcmp(), objfile::obfd, objfile_name(), and warning().
Referenced by macho_symfile_read().
static void macho_new_init | ( | struct objfile * | objfile | ) | [static] |
Definition at line 71 of file machoread.c.
static void macho_register_oso | ( | VEC(oso_el)** | oso_vector_ptr, |
struct objfile * | objfile, | ||
asymbol ** | oso_sym, | ||
asymbol ** | end_sym, | ||
unsigned int | nbr_syms | ||
) | [static] |
Definition at line 84 of file machoread.c.
References oso_el::end_sym, oso_el::mtime, oso_el::name, oso_el::nbr_syms, oso_el::oso_sym, and VEC_safe_push.
Referenced by macho_symtab_read().
static CORE_ADDR macho_resolve_oso_sym_with_minsym | ( | struct objfile * | main_objfile, |
asymbol * | sym | ||
) | [static] |
Definition at line 429 of file machoread.c.
References _, lookup_minimal_symbol(), name, objfile::obfd, SYMBOL_VALUE_ADDRESS, and warning().
Referenced by macho_add_oso_symfile().
static struct bfd_hash_entry* macho_sym_hash_newfunc | ( | struct bfd_hash_entry * | entry, |
struct bfd_hash_table * | table, | ||
const char * | string | ||
) | [static, read] |
Definition at line 398 of file machoread.c.
References string, and macho_sym_hash_entry::sym.
Referenced by macho_add_oso_symfile().
static void macho_symfile_finish | ( | struct objfile * | objfile | ) | [static] |
Definition at line 973 of file machoread.c.
static void macho_symfile_init | ( | struct objfile * | objfile | ) | [static] |
Definition at line 76 of file machoread.c.
References objfile::flags, and OBJF_REORDERED.
static void macho_symfile_offsets | ( | struct objfile * | objfile, |
const struct section_addr_info * | addrs | ||
) | [static] |
Definition at line 978 of file machoread.c.
References section_addr_info::other_sections::addr, ALL_OBJFILE_OSECTIONS, memset(), section_addr_info::other_sections::name, section_addr_info::num_sections, objfile::num_sections, objfile::obfd, obj_section_offset, objfile::objfile_obstack, section_addr_info::other, objfile::sect_index_text, objfile::section_offsets, objfile::sections, SIZEOF_N_SECTION_OFFSETS, and obj_section::the_bfd_section.
static void macho_symfile_read | ( | struct objfile * | objfile, |
int | symfile_flags | ||
) | [static] |
Definition at line 854 of file machoread.c.
References _, do_cleanups(), dwarf2_build_frame_info(), dwarf2_build_psymtabs(), dwarf2_has_info(), error(), init_minimal_symbol_collection(), install_minimal_symbols(), mach_o_debug_level, macho_check_dsym(), macho_symfile_read_all_oso(), macho_symtab_read(), make_cleanup(), make_cleanup_bfd_unref(), make_cleanup_discard_minimal_symbols(), objfile::obfd, offset, printf_unfiltered(), symbol_file_add_separate(), VEC, VEC_cleanup, xfree(), and xmalloc().
static void macho_symfile_read_all_oso | ( | VEC(oso_el)** | oso_vector_ptr, |
struct objfile * | main_objfile, | ||
int | symfile_flags | ||
) | [static] |
Definition at line 651 of file machoread.c.
References _, do_cleanups(), gdb_bfd_open(), gdb_bfd_openr_next_archived_file(), gdb_bfd_unref(), get_archive_prefix_len(), gnutarget, macho_add_oso_symfile(), make_cleanup(), memcmp(), memcpy(), oso_el::name, null_cleanup(), oso_el_compare_name(), qsort, VEC, VEC_address, VEC_index, VEC_iterate, VEC_length, warning(), and xfree().
Referenced by macho_symfile_read().
static bfd_byte* macho_symfile_relocate | ( | struct objfile * | objfile, |
asection * | sectp, | ||
bfd_byte * | buf | ||
) | [static] |
Definition at line 955 of file machoread.c.
References _, mach_o_debug_level, objfile::obfd, objfile_name(), and printf_unfiltered().
static void macho_symtab_add_minsym | ( | struct objfile * | objfile, |
const asymbol * | sym | ||
) | [static] |
Definition at line 102 of file machoread.c.
References ANOFFSET, gdb_bfd_section_index(), mst_abs, mst_bss, mst_data, mst_file_bss, mst_file_data, mst_file_text, mst_text, mst_unknown, objfile::obfd, offset, prim_record_minimal_symbol_and_info(), and objfile::section_offsets.
Referenced by macho_symtab_read().
static void macho_symtab_read | ( | struct objfile * | objfile, |
long | number_of_symbols, | ||
asymbol ** | symbol_table, | ||
VEC(oso_el)** | oso_vector_ptr | ||
) | [static] |
Definition at line 176 of file machoread.c.
References _, complaint(), macho_register_oso(), macho_symtab_add_minsym(), objfile_name(), symfile_complaints, and warning().
Referenced by macho_symfile_read().
static int oso_el_compare_name | ( | const void * | vl, |
const void * | vr | ||
) | [static] |
Definition at line 378 of file machoread.c.
References oso_el::name.
Referenced by macho_symfile_read_all_oso().
unsigned int mach_o_debug_level = 0 [static] |
Definition at line 41 of file machoread.c.
Referenced by _initialize_machoread(), macho_add_oso_symfile(), macho_symfile_read(), and macho_symfile_relocate().
struct sym_fns macho_sym_fns [static] |
{ macho_new_init, macho_symfile_init, macho_symfile_read, NULL, macho_symfile_finish, macho_symfile_offsets, default_symfile_segments, NULL, macho_symfile_relocate, NULL, &psym_functions }
Definition at line 1031 of file machoread.c.