GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations | Functions | Variables
solib-frv.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "solib.h"
#include "solist.h"
#include "frv-tdep.h"
#include "objfiles.h"
#include "symtab.h"
#include "elf/frv.h"
#include "gdb_bfd.h"

Go to the source code of this file.

Classes

struct  ext_elf32_fdpic_loadseg
 
struct  ext_elf32_fdpic_loadmap
 
struct  int_elf32_fdpic_loadseg
 
struct  int_elf32_fdpic_loadmap
 
struct  ext_elf32_fdpic_loadaddr
 
struct  ext_link_map
 
struct  lm_info_frv
 

Typedefs

typedef gdb_byte ext_Elf32_Half[2]
 
typedef gdb_byte ext_Elf32_Addr[4]
 
typedef gdb_byte ext_Elf32_Word[4]
 
typedef gdb_byte ext_ptr[4]
 

Enumerations

enum  { FRV_PTR_SIZE = 4 }
 

Functions

static struct int_elf32_fdpic_loadmapfetch_loadmap (CORE_ADDR ldmaddr)
 
static void frv_relocate_main_executable (void)
 
static CORE_ADDR main_got (void)
 
static int enable_break2 (void)
 
static int open_symbol_file_object (int from_tty)
 
static CORE_ADDR lm_base (void)
 
static struct so_listfrv_current_sos (void)
 
static int frv_in_dynsym_resolve_code (CORE_ADDR pc)
 
static CORE_ADDR displacement_from_map (struct int_elf32_fdpic_loadmap *map, CORE_ADDR addr)
 
static void enable_break_failure_warning (void)
 
static int enable_break (void)
 
static void frv_solib_create_inferior_hook (int from_tty)
 
static void frv_clear_solib (void)
 
static void frv_free_so (struct so_list *so)
 
static void frv_relocate_section_addresses (struct so_list *so, struct target_section *sec)
 
CORE_ADDR frv_fdpic_find_global_pointer (CORE_ADDR addr)
 
static CORE_ADDR find_canonical_descriptor_in_load_object (CORE_ADDR, CORE_ADDR, const char *, bfd *, lm_info_frv *)
 
CORE_ADDR frv_fdpic_find_canonical_descriptor (CORE_ADDR entry_point)
 
CORE_ADDR frv_fetch_objfile_link_map (struct objfile *objfile)
 

Variables

static lm_info_frvmain_executable_lm_info
 
static CORE_ADDR lm_base_cache = 0
 
static CORE_ADDR main_lm_addr = 0
 
static CORE_ADDR interp_text_sect_low
 
static CORE_ADDR interp_text_sect_high
 
static CORE_ADDR interp_plt_sect_low
 
static CORE_ADDR interp_plt_sect_high
 
static int enable_break2_done = 0
 
const struct target_so_ops frv_so_ops
 

Typedef Documentation

◆ ext_Elf32_Addr

typedef gdb_byte ext_Elf32_Addr[4]

Definition at line 39 of file solib-frv.c.

◆ ext_Elf32_Half

typedef gdb_byte ext_Elf32_Half[2]

Definition at line 38 of file solib-frv.c.

◆ ext_Elf32_Word

typedef gdb_byte ext_Elf32_Word[4]

Definition at line 40 of file solib-frv.c.

◆ ext_ptr

typedef gdb_byte ext_ptr[4]

Definition at line 174 of file solib-frv.c.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
FRV_PTR_SIZE 

Definition at line 31 of file solib-frv.c.

Function Documentation

◆ displacement_from_map()

static CORE_ADDR displacement_from_map ( struct int_elf32_fdpic_loadmap * map,
CORE_ADDR addr )
static

◆ enable_break()

static int enable_break ( void )
static

◆ enable_break2()

static int enable_break2 ( void )
static

◆ enable_break_failure_warning()

static void enable_break_failure_warning ( void )
static

Definition at line 464 of file solib-frv.c.

Referenced by enable_break2().

◆ fetch_loadmap()

static struct int_elf32_fdpic_loadmap * fetch_loadmap ( CORE_ADDR ldmaddr)
static

◆ find_canonical_descriptor_in_load_object()

static CORE_ADDR find_canonical_descriptor_in_load_object ( CORE_ADDR entry_point,
CORE_ADDR got_value,
const char * name,
bfd * abfd,
lm_info_frv * lm )
static

◆ frv_clear_solib()

static void frv_clear_solib ( void )
static

Definition at line 808 of file solib-frv.c.

References enable_break2_done, lm_base_cache, main_executable_lm_info, and main_lm_addr.

◆ frv_current_sos()

static struct so_list * frv_current_sos ( void )
static

◆ frv_fdpic_find_canonical_descriptor()

CORE_ADDR frv_fdpic_find_canonical_descriptor ( CORE_ADDR entry_point)

◆ frv_fdpic_find_global_pointer()

CORE_ADDR frv_fdpic_find_global_pointer ( CORE_ADDR addr)

◆ frv_fetch_objfile_link_map()

CORE_ADDR frv_fetch_objfile_link_map ( struct objfile * objfile)

◆ frv_free_so()

static void frv_free_so ( struct so_list * so)
static

Definition at line 819 of file solib-frv.c.

References so_list::lm_info.

◆ frv_in_dynsym_resolve_code()

static int frv_in_dynsym_resolve_code ( CORE_ADDR pc)
static

◆ frv_relocate_main_executable()

static void frv_relocate_main_executable ( void )
static

◆ frv_relocate_section_addresses()

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

◆ frv_solib_create_inferior_hook()

static void frv_solib_create_inferior_hook ( int from_tty)
static

Definition at line 794 of file solib-frv.c.

References enable_break(), and frv_relocate_main_executable().

◆ lm_base()

static CORE_ADDR lm_base ( void )
static

◆ main_got()

static CORE_ADDR main_got ( void )
static

◆ open_symbol_file_object()

static int open_symbol_file_object ( int from_tty)
static

Definition at line 242 of file solib-frv.c.

Variable Documentation

◆ enable_break2_done

int enable_break2_done = 0
static

Definition at line 493 of file solib-frv.c.

Referenced by enable_break2(), and frv_clear_solib().

◆ frv_so_ops

const struct target_so_ops frv_so_ops
Initial value:
=
{
nullptr,
}
static void frv_free_so(struct so_list *so)
Definition solib-frv.c:819
static void frv_clear_solib(void)
Definition solib-frv.c:808
static struct so_list * frv_current_sos(void)
Definition solib-frv.c:309
static void frv_relocate_section_addresses(struct so_list *so, struct target_section *sec)
Definition solib-frv.c:827
static int frv_in_dynsym_resolve_code(CORE_ADDR pc)
Definition solib-frv.c:432
static void frv_solib_create_inferior_hook(int from_tty)
Definition solib-frv.c:794
static int open_symbol_file_object(int from_tty)
Definition solib-frv.c:242
gdb_bfd_ref_ptr solib_bfd_open(const char *pathname)
Definition solib.c:440

Definition at line 1090 of file solib-frv.c.

Referenced by frv_gdbarch_init().

◆ interp_plt_sect_high

CORE_ADDR interp_plt_sect_high
static

◆ interp_plt_sect_low

CORE_ADDR interp_plt_sect_low
static

Definition at line 428 of file solib-frv.c.

Referenced by enable_break2(), and frv_in_dynsym_resolve_code().

◆ interp_text_sect_high

CORE_ADDR interp_text_sect_high
static

◆ interp_text_sect_low

CORE_ADDR interp_text_sect_low
static

Definition at line 426 of file solib-frv.c.

Referenced by enable_break2(), and frv_in_dynsym_resolve_code().

◆ lm_base_cache

CORE_ADDR lm_base_cache = 0
static

Definition at line 249 of file solib-frv.c.

Referenced by frv_clear_solib(), and lm_base().

◆ main_executable_lm_info

lm_info_frv* main_executable_lm_info
static

◆ main_lm_addr

CORE_ADDR main_lm_addr = 0
static

Definition at line 252 of file solib-frv.c.

Referenced by frv_clear_solib(), frv_current_sos(), and frv_fetch_objfile_link_map().