GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
solib-darwin.c File Reference
#include "defs.h"
#include "bfd.h"
#include "objfiles.h"
#include "gdbcore.h"
#include "target.h"
#include "inferior.h"
#include "regcache.h"
#include "gdb_bfd.h"
#include "solist.h"
#include "solib-darwin.h"
#include "mach-o.h"
#include "mach-o/external.h"

Go to the source code of this file.

Classes

struct  gdb_dyld_image_info
 
struct  gdb_dyld_all_image_infos
 
struct  darwin_info
 
struct  darwin_info::all_image
 
struct  lm_info_darwin
 

Macros

#define DYLD_VERSION_MIN   1
 
#define DYLD_VERSION_MAX   15
 

Functions

static struct darwin_infoget_darwin_info (void)
 
static int darwin_dyld_version_ok (const struct darwin_info *info)
 
static void darwin_load_image_infos (struct darwin_info *info)
 
static CORE_ADDR lookup_symbol_from_bfd (bfd *abfd, const char *symname)
 
static char * find_program_interpreter (void)
 
static int open_symbol_file_object (int from_tty)
 
static struct so_listdarwin_current_sos (void)
 
static CORE_ADDR darwin_validate_exec_header (CORE_ADDR load_addr)
 
static CORE_ADDR darwin_read_exec_load_addr_from_dyld (struct darwin_info *info)
 
static CORE_ADDR darwin_read_exec_load_addr_at_init (struct darwin_info *info)
 
static int darwin_in_dynsym_resolve_code (CORE_ADDR pc)
 
static gdb_bfd_ref_ptr gdb_bfd_mach_o_fat_extract (bfd *abfd, bfd_format format, const bfd_arch_info_type *arch)
 
static gdb_bfd_ref_ptr darwin_get_dyld_bfd ()
 
static void darwin_solib_get_all_image_info_addr_at_init (struct darwin_info *info)
 
static void darwin_solib_read_all_image_info_addr (struct darwin_info *info)
 
static void darwin_solib_create_inferior_hook (int from_tty)
 
static void darwin_clear_solib (void)
 
static void darwin_free_so (struct so_list *so)
 
static void darwin_relocate_section_addresses (struct so_list *so, struct target_section *sec)
 
static gdb_bfd_ref_ptr darwin_bfd_open (const char *pathname)
 

Variables

static const registry< program_space >::key< darwin_infosolib_darwin_pspace_data
 
const struct target_so_ops darwin_so_ops
 

Macro Definition Documentation

◆ DYLD_VERSION_MAX

#define DYLD_VERSION_MAX   15

Definition at line 62 of file solib-darwin.c.

Referenced by darwin_dyld_version_ok().

◆ DYLD_VERSION_MIN

#define DYLD_VERSION_MIN   1

Definition at line 61 of file solib-darwin.c.

Referenced by darwin_dyld_version_ok().

Function Documentation

◆ darwin_bfd_open()

static gdb_bfd_ref_ptr darwin_bfd_open ( const char * pathname)
static

◆ darwin_clear_solib()

static void darwin_clear_solib ( void )
static

Definition at line 599 of file solib-darwin.c.

References get_darwin_info().

◆ darwin_current_sos()

static struct so_list * darwin_current_sos ( void )
static

◆ darwin_dyld_version_ok()

static int darwin_dyld_version_ok ( const struct darwin_info * info)
static

◆ darwin_free_so()

static void darwin_free_so ( struct so_list * so)
static

Definition at line 608 of file solib-darwin.c.

References so_list::lm_info.

◆ darwin_get_dyld_bfd()

static gdb_bfd_ref_ptr darwin_get_dyld_bfd ( )
static

◆ darwin_in_dynsym_resolve_code()

static int darwin_in_dynsym_resolve_code ( CORE_ADDR pc)
static

Definition at line 388 of file solib-darwin.c.

◆ darwin_load_image_infos()

static void darwin_load_image_infos ( struct darwin_info * info)
static

◆ darwin_read_exec_load_addr_at_init()

static CORE_ADDR darwin_read_exec_load_addr_at_init ( struct darwin_info * info)
static

◆ darwin_read_exec_load_addr_from_dyld()

static CORE_ADDR darwin_read_exec_load_addr_from_dyld ( struct darwin_info * info)
static

◆ darwin_relocate_section_addresses()

static void darwin_relocate_section_addresses ( struct so_list * so,
struct target_section * sec )
static

◆ darwin_solib_create_inferior_hook()

static void darwin_solib_create_inferior_hook ( int from_tty)
static

◆ darwin_solib_get_all_image_info_addr_at_init()

static void darwin_solib_get_all_image_info_addr_at_init ( struct darwin_info * info)
static

◆ darwin_solib_read_all_image_info_addr()

static void darwin_solib_read_all_image_info_addr ( struct darwin_info * info)
static

◆ darwin_validate_exec_header()

static CORE_ADDR darwin_validate_exec_header ( CORE_ADDR load_addr)
static

◆ find_program_interpreter()

static char * find_program_interpreter ( void )
static

Definition at line 184 of file solib-darwin.c.

References current_program_space, and program_space::exec_bfd().

Referenced by darwin_get_dyld_bfd().

◆ gdb_bfd_mach_o_fat_extract()

static gdb_bfd_ref_ptr gdb_bfd_mach_o_fat_extract ( bfd * abfd,
bfd_format format,
const bfd_arch_info_type * arch )
static

Definition at line 398 of file solib-darwin.c.

References gdb_bfd_mark_parent(), and gdb_bfd_ref().

Referenced by darwin_bfd_open(), and darwin_get_dyld_bfd().

◆ get_darwin_info()

static struct darwin_info * get_darwin_info ( void )
static

◆ lookup_symbol_from_bfd()

static CORE_ADDR lookup_symbol_from_bfd ( bfd * abfd,
const char * symname )
static

Definition at line 148 of file solib-darwin.c.

References xfree(), and xmalloc().

Referenced by darwin_solib_get_all_image_info_addr_at_init().

◆ open_symbol_file_object()

static int open_symbol_file_object ( int from_tty)
static

Definition at line 209 of file solib-darwin.c.

Variable Documentation

◆ darwin_so_ops

const struct target_so_ops darwin_so_ops
Initial value:
=
{
nullptr,
}
static struct so_list * darwin_current_sos(void)
static int darwin_in_dynsym_resolve_code(CORE_ADDR pc)
static int open_symbol_file_object(int from_tty)
static void darwin_clear_solib(void)
static gdb_bfd_ref_ptr darwin_bfd_open(const char *pathname)
static void darwin_solib_create_inferior_hook(int from_tty)
static void darwin_free_so(struct so_list *so)
static void darwin_relocate_section_addresses(struct so_list *so, struct target_section *sec)

Definition at line 669 of file solib-darwin.c.

Referenced by i386_darwin_init_abi(), and x86_darwin_init_abi_64().

◆ solib_darwin_pspace_data

const registry<program_space>::key<darwin_info> solib_darwin_pspace_data
static

Definition at line 76 of file solib-darwin.c.

Referenced by get_darwin_info().