GDB (xrefs)

Classes | Macros | Typedefs | Functions | Variables
/tmp/gdb-8.1/gdb/machoread.c File Reference
`#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 "aout/stab_gnu.h"`
`#include "vec.h"`
`#include "psympriv.h"`
`#include "complaints.h"`
`#include "gdb_bfd.h"`
`#include <string>`

Go to the source code of this file.

## Classes
struct | oso_el
struct | macho_sym_hash_entry

## Macros
#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 (minimal_symbol_reader &reader, struct objfile *objfile, const asymbol *sym)
static void | macho_symtab_read (minimal_symbol_reader &reader, 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, const gdb_bfd_ref_ptr &abfd, const char *name, struct objfile *main_objfile, symfile_add_flags symfile_flags)
static void | macho_symfile_read_all_oso (VEC(oso_el) **oso_vector_ptr, struct objfile *main_objfile, symfile_add_flags symfile_flags)
static gdb_bfd_ref_ptr | macho_check_dsym (struct objfile *objfile, char **filenamep)
static void | macho_symfile_read (struct objfile *objfile, symfile_add_flags 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 const struct sym_fns | macho_sym_fns

## Macro Definition Documentation

## ◆ DSYM_SUFFIX

#define DSYM_SUFFIX ".dSYM/Contents/Resources/DWARF/"

Definition at line 750 of file machoread.c.

Referenced by macho_check_dsym().

## Typedef Documentation

## ◆ oso_el

typedef struct oso_el oso_el

## Function Documentation

## ◆ _initialize_machoread()

void _initialize_machoread | ( | void |  | ) |

Definition at line 998 of file machoread.c.

References _, add_setshow_zuinteger_cmd(), add_symtab_fns(), class_obscure, mach_o_debug_level, macho_sym_fns, setdebuglist, and showdebuglist.

## ◆ DEF_VEC_O()

DEF_VEC_O | ( | oso_el |  | ) |

## ◆ get_archive_prefix_len()

static int get_archive_prefix_len | ( | const char * | name | ) |
| static

Definition at line 342 of file machoread.c.

References name.

Referenced by macho_symfile_read_all_oso().

## ◆ macho_add_oso_symfile()

static void macho_add_oso_symfile | ( | oso_el * | oso,
|  | const gdb_bfd_ref_ptr & | abfd,
|  | const char * | name,
|  | struct objfile * | main_objfile,
|  | symfile_add_flags | symfile_flags
| ) |  |
| static

Definition at line 432 of file machoread.c.

References _, complaint, oso_el::end_sym, objfile::flags, gdb::ref_ptr< T, Policy >::get(), get_objfile_arch(), mach_o_debug_level, macho_resolve_oso_sym_with_minsym(), macho_sym_hash_newfunc(), oso_el::mtime, oso_el::name, 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().

## ◆ macho_check_dsym()

static gdb_bfd_ref_ptr macho_check_dsym | ( | struct objfile * | objfile,
|  | char ** | filenamep
| ) |  |
| static

Definition at line 758 of file machoread.c.

References _, DSYM_SUFFIX, gdb_bfd_openr(), gdb::ref_ptr< T, Policy >::get(), gnutarget, objfile::obfd, objfile_name(), and warning().

Referenced by macho_symfile_read().

## ◆ macho_new_init()

static void macho_new_init | ( | struct objfile * | objfile | ) |
| static

Definition at line 69 of file machoread.c.

## ◆ macho_register_oso()

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 82 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().

## ◆ macho_resolve_oso_sym_with_minsym()

static CORE_ADDR macho_resolve_oso_sym_with_minsym | ( | struct objfile * | main_objfile,
|  | asymbol * | sym
| ) |  |
| static

Definition at line 411 of file machoread.c.

References _, BMSYMBOL_VALUE_ADDRESS, lookup_minimal_symbol(), bound_minimal_symbol::minsym, name, objfile::obfd, and warning().

Referenced by macho_add_oso_symfile().

## ◆ macho_sym_hash_newfunc()

static struct bfd_hash_entry* macho_sym_hash_newfunc | ( | struct bfd_hash_entry * | entry,
|  | struct bfd_hash_table * | table,
|  | const char * | string
| ) |  |
| static

Definition at line 380 of file machoread.c.

References string, and macho_sym_hash_entry::sym.

Referenced by macho_add_oso_symfile().

## ◆ macho_symfile_finish()

static void macho_symfile_finish | ( | struct objfile * | objfile | ) |
| static

Definition at line 926 of file machoread.c.

## ◆ macho_symfile_init()

static void macho_symfile_init | ( | struct objfile * | objfile | ) |
| static

Definition at line 74 of file machoread.c.

References objfile::flags, and OBJF_REORDERED.

## ◆ macho_symfile_offsets()

static void macho_symfile_offsets | ( | struct objfile * | objfile,
|  | const struct section_addr_info * | addrs
| ) |  |
| static

Definition at line 931 of file machoread.c.

References other_sections::addr, ALL_OBJFILE_OSECTIONS, memset(), other_sections::name, section_addr_info::num_sections, objfile::num_sections, objfile::obfd, obj_section_offset, section_addr_info::other, objfile::sect_index_text, objfile::section_offsets, objfile::sections, SIZEOF_N_SECTION_OFFSETS, startswith(), and obj_section::the_bfd_section.

## ◆ macho_symfile_read()

static void macho_symfile_read | ( | struct objfile * | objfile,
|  | symfile_add_flags | symfile_flags
| ) |  |
| static

Definition at line 812 of file machoread.c.

References _, do_cleanups(), dwarf2_build_frame_info(), dwarf2_build_psymtabs(), dwarf2_has_info(), error(), gdb::ref_ptr< T, Policy >::get(), minimal_symbol_reader::install(), mach_o_debug_level, macho_check_dsym(), macho_symfile_read_all_oso(), macho_symtab_read(), make_cleanup(), objfile::obfd, printf_unfiltered(), symbol_file_add_separate(), VEC, VEC_cleanup, xfree(), and xmalloc().

## ◆ macho_symfile_read_all_oso()

static void macho_symfile_read_all_oso | ( | VEC(oso_el) ** | oso_vector_ptr,
|  | struct objfile * | main_objfile,
|  | symfile_add_flags | symfile_flags
| ) |  |
| static

Definition at line 630 of file machoread.c.

References _, gdb_bfd_open(), gdb_bfd_openr_next_archived_file(), gdb::ref_ptr< T, Policy >::get(), get_archive_prefix_len(), gnutarget, macho_add_oso_symfile(), oso_el::name, oso_el_compare_name(), qsort, string, VEC, VEC_address, VEC_index, VEC_iterate, VEC_length, and warning().

Referenced by macho_symfile_read().

## ◆ macho_symfile_relocate()

static bfd_byte* macho_symfile_relocate | ( | struct objfile * | objfile,
|  | asection * | sectp,
|  | bfd_byte * | buf
| ) |  |
| static

Definition at line 908 of file machoread.c.

References _, mach_o_debug_level, objfile::obfd, objfile_name(), and printf_unfiltered().

## ◆ macho_symtab_add_minsym()

static void macho_symtab_add_minsym | ( | minimal_symbol_reader & | reader,
|  | struct objfile * | objfile,
|  | const asymbol * | sym
| ) |  |
| static

Definition at line 100 of file machoread.c.

References 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, and minimal_symbol_reader::record_with_info().

Referenced by macho_symtab_read().

## ◆ macho_symtab_read()

static void macho_symtab_read | ( | minimal_symbol_reader & | reader,
|  | struct objfile * | objfile,
|  | long | number_of_symbols,
|  | asymbol ** | symbol_table,
|  | VEC(oso_el) ** | oso_vector_ptr
| ) |  |
| static

Definition at line 161 of file machoread.c.

References _, complaint, macho_register_oso(), macho_symtab_add_minsym(), objfile_name(), symfile_complaints, and warning().

Referenced by macho_symfile_read().

## ◆ oso_el_compare_name()

static int oso_el_compare_name | ( | const void * | vl,
|  | const void * | vr
| ) |  |
| static

Definition at line 360 of file machoread.c.

References oso_el::name.

Referenced by macho_symfile_read_all_oso().

## Variable Documentation

## ◆ mach_o_debug_level

unsigned int mach_o_debug_level = 0
| static

Definition at line 39 of file machoread.c.

Referenced by _initialize_machoread(), macho_add_oso_symfile(), macho_symfile_read(), and macho_symfile_relocate().

## ◆ macho_sym_fns

const struct sym_fns macho_sym_fns
| static

Initial value:
= {
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
}
macho_symfile_init
static void macho_symfile_init(struct objfile *objfile)
Definition: machoread.c:74
macho_symfile_offsets
static void macho_symfile_offsets(struct objfile *objfile, const struct section_addr_info *addrs)
Definition: machoread.c:931
macho_symfile_relocate
static bfd_byte * macho_symfile_relocate(struct objfile *objfile, asection *sectp, bfd_byte *buf)
Definition: machoread.c:908
default_symfile_segments
struct symfile_segment_data * default_symfile_segments(bfd *abfd)
Definition: symfile.c:785
macho_symfile_finish
static void macho_symfile_finish(struct objfile *objfile)
Definition: machoread.c:926
macho_new_init
static void macho_new_init(struct objfile *objfile)
Definition: machoread.c:69
psym_functions
const struct quick_symbol_functions psym_functions
Definition: psymtab.c:1541
macho_symfile_read
static void macho_symfile_read(struct objfile *objfile, symfile_add_flags symfile_flags)
Definition: machoread.c:812

Definition at line 983 of file machoread.c.

Referenced by _initialize_machoread().