GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Functions | Variables
/tmp/gdb-13.1/gdb/solib-aix.c File Reference
#include "defs.h"
#include "solib-aix.h"
#include "solib.h"
#include "solist.h"
#include "inferior.h"
#include "gdb_bfd.h"
#include "gdbcore.h"
#include "objfiles.h"
#include "symtab.h"
#include "xcoffread.h"
#include "observable.h"
#include "gdbcmd.h"
#include "gdbsupport/scope-exit.h"
#include "xml-support.h"

Go to the source code of this file.

Classes

struct  lm_info_aix
 
struct  solib_aix_inferior_data
 

Functions

static struct solib_aix_inferior_dataget_solib_aix_inferior_data (struct inferior *inf)
 
static void library_list_start_library (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, std::vector< gdb_xml_value > &attributes)
 
static void library_list_start_list (struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, std::vector< gdb_xml_value > &attributes)
 
static gdb::optional< std::vector< lm_info_aix > > solib_aix_parse_libraries (const char *library)
 
static gdb::optional< std::vector< lm_info_aix > > & solib_aix_get_library_list (struct inferior *inf, const char *warning_msg)
 
static CORE_ADDR solib_aix_bss_data_overlap (bfd *abfd)
 
static void solib_aix_relocate_section_addresses (struct so_list *so, struct target_section *sec)
 
static void solib_aix_free_so (struct so_list *so)
 
static void solib_aix_clear_solib (void)
 
static section_offsets solib_aix_get_section_offsets (struct objfile *objfile, lm_info_aix *info)
 
static void solib_aix_solib_create_inferior_hook (int from_tty)
 
static struct so_listsolib_aix_current_sos (void)
 
static int solib_aix_open_symbol_file_object (int from_tty)
 
static int solib_aix_in_dynsym_resolve_code (CORE_ADDR pc)
 
static gdb_bfd_ref_ptr solib_aix_bfd_open (const char *pathname)
 
static struct obj_sectiondata_obj_section_from_objfile (struct objfile *objfile)
 
CORE_ADDR solib_aix_get_toc_value (CORE_ADDR pc)
 
static void solib_aix_normal_stop_observer (struct bpstat *unused_1, int unused_2)
 
void _initialize_solib_aix ()
 

Variables

static const registry< inferior >::key< solib_aix_inferior_datasolib_aix_inferior_data_handle
 
static const struct gdb_xml_attribute library_attributes []
 
static const struct gdb_xml_element library_list_children []
 
static const struct gdb_xml_attribute library_list_attributes []
 
static const struct gdb_xml_element library_list_elements []
 
const struct target_so_ops solib_aix_so_ops
 

Function Documentation

◆ _initialize_solib_aix()

void _initialize_solib_aix ( )

Definition at line 719 of file solib-aix.c.

References gdb::observers::normal_stop, and solib_aix_normal_stop_observer().

◆ data_obj_section_from_objfile()

static struct obj_section * data_obj_section_from_objfile ( struct objfile objfile)
static

Definition at line 649 of file solib-aix.c.

References ALL_OBJFILE_OSECTIONS, and obj_section::the_bfd_section.

Referenced by solib_aix_get_toc_value().

◆ get_solib_aix_inferior_data()

static struct solib_aix_inferior_data * get_solib_aix_inferior_data ( struct inferior inf)
static

◆ library_list_start_library()

static void library_list_start_library ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
std::vector< gdb_xml_value > &  attributes 
)
static

◆ library_list_start_list()

static void library_list_start_list ( struct gdb_xml_parser parser,
const struct gdb_xml_element element,
void *  user_data,
std::vector< gdb_xml_value > &  attributes 
)
static

◆ solib_aix_bfd_open()

static gdb_bfd_ref_ptr solib_aix_bfd_open ( const char *  pathname)
static

◆ solib_aix_bss_data_overlap()

static CORE_ADDR solib_aix_bss_data_overlap ( bfd *  abfd)
static

◆ solib_aix_clear_solib()

static void solib_aix_clear_solib ( void  )
static

Definition at line 382 of file solib-aix.c.

◆ solib_aix_current_sos()

static struct so_list * solib_aix_current_sos ( void  )
static

◆ solib_aix_free_so()

static void solib_aix_free_so ( struct so_list so)
static

Definition at line 370 of file solib-aix.c.

References so_list::lm_info, so_list::so_name, and solib_debug_printf.

◆ solib_aix_get_library_list()

static gdb::optional< std::vector< lm_info_aix > > & solib_aix_get_library_list ( struct inferior inf,
const char *  warning_msg 
)
static

◆ solib_aix_get_section_offsets()

static section_offsets solib_aix_get_section_offsets ( struct objfile objfile,
lm_info_aix info 
)
static

◆ solib_aix_get_toc_value()

CORE_ADDR solib_aix_get_toc_value ( CORE_ADDR  pc)

◆ solib_aix_in_dynsym_resolve_code()

static int solib_aix_in_dynsym_resolve_code ( CORE_ADDR  pc)
static

Definition at line 540 of file solib-aix.c.

◆ solib_aix_normal_stop_observer()

static void solib_aix_normal_stop_observer ( struct bpstat unused_1,
int  unused_2 
)
static

Definition at line 692 of file solib-aix.c.

References current_inferior(), and get_solib_aix_inferior_data().

Referenced by _initialize_solib_aix().

◆ solib_aix_open_symbol_file_object()

static int solib_aix_open_symbol_file_object ( int  from_tty)
static

Definition at line 532 of file solib-aix.c.

◆ solib_aix_parse_libraries()

static gdb::optional< std::vector< lm_info_aix > > solib_aix_parse_libraries ( const char *  library)
static

Definition at line 208 of file solib-aix.c.

References gdb_xml_parse_quick(), and library_list_elements.

Referenced by solib_aix_get_library_list().

◆ solib_aix_relocate_section_addresses()

static void solib_aix_relocate_section_addresses ( struct so_list so,
struct target_section sec 
)
static

◆ solib_aix_solib_create_inferior_hook()

static void solib_aix_solib_create_inferior_hook ( int  from_tty)
static

Variable Documentation

◆ library_attributes

const struct gdb_xml_attribute library_attributes[]
static
Initial value:
=
{
{ "name", GDB_XML_AF_NONE, NULL, NULL },
{ "member", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}
gdb_xml_attribute_handler gdb_xml_parse_attr_ulongest
@ GDB_XML_AF_OPTIONAL
Definition: xml-support.h:105
@ GDB_XML_AF_NONE
Definition: xml-support.h:104

Definition at line 170 of file solib-aix.c.

◆ library_list_attributes

const struct gdb_xml_attribute library_list_attributes[]
static
Initial value:
=
{
{ "version", GDB_XML_AF_NONE, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
}

Definition at line 189 of file solib-aix.c.

◆ library_list_children

const struct gdb_xml_element library_list_children[]
static
Initial value:
=
{
{ "library", library_attributes, NULL,
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static void library_list_start_library(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, std::vector< gdb_xml_value > &attributes)
Definition: solib-aix.c:119
static const struct gdb_xml_attribute library_attributes[]
Definition: solib-aix.c:170
@ GDB_XML_EF_NONE
Definition: xml-support.h:125
@ GDB_XML_EF_REPEATABLE
Definition: xml-support.h:127
@ GDB_XML_EF_OPTIONAL
Definition: xml-support.h:126

Definition at line 181 of file solib-aix.c.

◆ library_list_elements

const struct gdb_xml_element library_list_elements[]
static
Initial value:
=
{
{ NULL, NULL, NULL, GDB_XML_EF_NONE, NULL, NULL }
}
static void library_list_start_list(struct gdb_xml_parser *parser, const struct gdb_xml_element *element, void *user_data, std::vector< gdb_xml_value > &attributes)
Definition: solib-aix.c:153
static const struct gdb_xml_attribute library_list_attributes[]
Definition: solib-aix.c:189
static const struct gdb_xml_element library_list_children[]
Definition: solib-aix.c:181

Definition at line 195 of file solib-aix.c.

Referenced by solib_aix_parse_libraries().

◆ solib_aix_inferior_data_handle

const registry<inferior>::key<solib_aix_inferior_data> solib_aix_inferior_data_handle
static

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

Referenced by get_solib_aix_inferior_data().

◆ solib_aix_so_ops

const struct target_so_ops solib_aix_so_ops
Initial value:
=
{
nullptr,
}
static struct so_list * solib_aix_current_sos(void)
Definition: solib-aix.c:473
static void solib_aix_solib_create_inferior_hook(int from_tty)
Definition: solib-aix.c:442
static void solib_aix_clear_solib(void)
Definition: solib-aix.c:382
static void solib_aix_free_so(struct so_list *so)
Definition: solib-aix.c:370
static gdb_bfd_ref_ptr solib_aix_bfd_open(const char *pathname)
Definition: solib-aix.c:548
static void solib_aix_relocate_section_addresses(struct so_list *so, struct target_section *sec)
Definition: solib-aix.c:317
static int solib_aix_open_symbol_file_object(int from_tty)
Definition: solib-aix.c:532
static int solib_aix_in_dynsym_resolve_code(CORE_ADDR pc)
Definition: solib-aix.c:540

Definition at line 704 of file solib-aix.c.

Referenced by rs6000_aix_init_osabi().