GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Typedefs | Functions | Variables
extension.c File Reference
#include "defs.h"
#include <signal.h>
#include "target.h"
#include "auto-load.h"
#include "breakpoint.h"
#include "event-top.h"
#include "extension.h"
#include "extension-priv.h"
#include "observable.h"
#include "cli/cli-script.h"
#include "python/python.h"
#include "guile/guile.h"
#include <array>
#include "inferior.h"

Go to the source code of this file.

Classes

struct  scoped_default_signal< SIG >
 

Typedefs

using scoped_default_sigint = scoped_default_signal<SIGINT>
 

Functions

const struct extension_language_defnget_ext_lang_defn (enum extension_language lang)
 
static int has_extension (const char *file, const char *extension)
 
const struct extension_language_defnget_ext_lang_of_file (const char *file)
 
int ext_lang_present_p (const struct extension_language_defn *extlang)
 
int ext_lang_initialized_p (const struct extension_language_defn *extlang)
 
void throw_ext_lang_unsupported (const struct extension_language_defn *extlang)
 
static void source_gdb_script (const struct extension_language_defn *extlang, FILE *stream, const char *file)
 
static void source_gdb_objfile_script (const struct extension_language_defn *extlang, struct objfile *objfile, FILE *stream, const char *file)
 
const char * ext_lang_name (const struct extension_language_defn *extlang)
 
const char * ext_lang_capitalized_name (const struct extension_language_defn *extlang)
 
const char * ext_lang_suffix (const struct extension_language_defn *extlang)
 
const char * ext_lang_auto_load_suffix (const struct extension_language_defn *extlang)
 
script_sourcer_funcext_lang_script_sourcer (const struct extension_language_defn *extlang)
 
objfile_script_sourcer_funcext_lang_objfile_script_sourcer (const struct extension_language_defn *extlang)
 
objfile_script_executor_funcext_lang_objfile_script_executor (const struct extension_language_defn *extlang)
 
bool ext_lang_auto_load_enabled (const struct extension_language_defn *extlang)
 
void ext_lang_initialization (void)
 
void eval_ext_lang_from_control_command (struct command_line *cmd)
 
void auto_load_ext_lang_scripts_for_objfile (struct objfile *objfile)
 
gdb::unique_xmalloc_ptr< char > apply_ext_lang_type_printers (struct ext_lang_type_printers *printers, struct type *type)
 
int apply_ext_lang_val_pretty_printer (struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
 
enum ext_lang_bt_status apply_ext_lang_frame_filter (frame_info_ptr frame, frame_filter_flags flags, enum ext_lang_frame_args args_type, struct ui_out *out, int frame_low, int frame_high)
 
void preserve_ext_lang_values (struct objfile *objfile, htab_t copied_types)
 
const struct extension_language_defnget_breakpoint_cond_ext_lang (struct breakpoint *b, enum extension_language skip_lang)
 
bool breakpoint_ext_lang_cond_says_stop (struct breakpoint *b)
 
static void install_ext_sigint_handler (const struct signal_handler *handler_state)
 
static void install_gdb_sigint_handler (struct signal_handler *previous)
 
struct active_ext_lang_stateset_active_ext_lang (const struct extension_language_defn *now_active)
 
void restore_active_ext_lang (struct active_ext_lang_state *previous)
 
void set_quit_flag (void)
 
int check_quit_flag (void)
 
void get_matching_xmethod_workers (struct type *type, const char *method_name, std::vector< xmethod_worker_up > *workers)
 
gdb::optional< std::string > ext_lang_colorize (const std::string &filename, const std::string &contents)
 
gdb::optional< std::string > ext_lang_colorize_disasm (const std::string &content, gdbarch *gdbarch)
 
gdb::optional< int > ext_lang_print_insn (struct gdbarch *gdbarch, CORE_ADDR address, struct disassemble_info *info)
 
static void ext_lang_before_prompt (const char *current_gdb_prompt)
 
void _initialize_extension ()
 

Variables

static script_sourcer_func source_gdb_script
 
static objfile_script_sourcer_func source_gdb_objfile_script
 
static const struct extension_language_script_ops extension_language_gdb_script_ops
 
const struct extension_language_defn extension_language_gdb
 
static const std::array< const extension_language_defn *, 2 > extension_languages
 
static int quit_flag
 
static const struct extension_language_defnactive_ext_lang = &extension_language_gdb
 
static bool cooperative_sigint_handling_disabled = false
 

Typedef Documentation

◆ scoped_default_sigint

Definition at line 321 of file extension.c.

Function Documentation

◆ _initialize_extension()

void _initialize_extension ( )

Definition at line 1031 of file extension.c.

Referenced by initialize_all_files().

◆ apply_ext_lang_frame_filter()

enum ext_lang_bt_status apply_ext_lang_frame_filter ( frame_info_ptr frame,
frame_filter_flags flags,
enum ext_lang_frame_args args_type,
struct ui_out * out,
int frame_low,
int frame_high )

◆ apply_ext_lang_type_printers()

gdb::unique_xmalloc_ptr< char > apply_ext_lang_type_printers ( struct ext_lang_type_printers * printers,
struct type * type )

◆ apply_ext_lang_val_pretty_printer()

int apply_ext_lang_val_pretty_printer ( struct value * val,
struct ui_file * stream,
int recurse,
const struct value_print_options * options,
const struct language_defn * language )

◆ auto_load_ext_lang_scripts_for_objfile()

void auto_load_ext_lang_scripts_for_objfile ( struct objfile * objfile)

◆ breakpoint_ext_lang_cond_says_stop()

bool breakpoint_ext_lang_cond_says_stop ( struct breakpoint * b)

◆ check_quit_flag()

int check_quit_flag ( void )

◆ eval_ext_lang_from_control_command()

void eval_ext_lang_from_control_command ( struct command_line * cmd)

◆ ext_lang_auto_load_enabled()

bool ext_lang_auto_load_enabled ( const struct extension_language_defn * extlang)

◆ ext_lang_auto_load_suffix()

const char * ext_lang_auto_load_suffix ( const struct extension_language_defn * extlang)

Definition at line 231 of file extension.c.

References extension_language_defn::auto_load_suffix.

Referenced by auto_load_objfile_script_1().

◆ ext_lang_before_prompt()

static void ext_lang_before_prompt ( const char * current_gdb_prompt)
static

Definition at line 1006 of file extension.c.

References EXT_LANG_RC_ERROR, EXT_LANG_RC_NOP, EXT_LANG_RC_OK, and extension_languages.

◆ ext_lang_capitalized_name()

const char * ext_lang_capitalized_name ( const struct extension_language_defn * extlang)

◆ ext_lang_colorize()

gdb::optional< std::string > ext_lang_colorize ( const std::string & filename,
const std::string & contents )

Definition at line 943 of file extension.c.

References extension_languages.

Referenced by source_cache::ensure().

◆ ext_lang_colorize_disasm()

gdb::optional< std::string > ext_lang_colorize_disasm ( const std::string & content,
gdbarch * gdbarch )

Definition at line 963 of file extension.c.

References extension_languages.

Referenced by gdb_disassembler::print_insn().

◆ ext_lang_initialization()

void ext_lang_initialization ( void )

Definition at line 331 of file extension.c.

References extension_languages.

Referenced by captured_main_1().

◆ ext_lang_initialized_p()

int ext_lang_initialized_p ( const struct extension_language_defn * extlang)

Definition at line 159 of file extension.c.

References extension_language_ops::initialized, and extension_language_defn::ops.

Referenced by mi_cmd_list_features().

◆ ext_lang_name()

const char * ext_lang_name ( const struct extension_language_defn * extlang)

◆ ext_lang_objfile_script_executor()

objfile_script_executor_func * ext_lang_objfile_script_executor ( const struct extension_language_defn * extlang)

◆ ext_lang_objfile_script_sourcer()

objfile_script_sourcer_func * ext_lang_objfile_script_sourcer ( const struct extension_language_defn * extlang)

◆ ext_lang_present_p()

int ext_lang_present_p ( const struct extension_language_defn * extlang)

◆ ext_lang_print_insn()

gdb::optional< int > ext_lang_print_insn ( struct gdbarch * gdbarch,
CORE_ADDR address,
struct disassemble_info * info )

Definition at line 983 of file extension.c.

References extension_languages, and type::length().

Referenced by gdb_print_insn_1().

◆ ext_lang_script_sourcer()

script_sourcer_func * ext_lang_script_sourcer ( const struct extension_language_defn * extlang)

◆ ext_lang_suffix()

const char * ext_lang_suffix ( const struct extension_language_defn * extlang)

Definition at line 223 of file extension.c.

References extension_language_defn::suffix.

◆ get_breakpoint_cond_ext_lang()

const struct extension_language_defn * get_breakpoint_cond_ext_lang ( struct breakpoint * b,
enum extension_language skip_lang )

◆ get_ext_lang_defn()

const struct extension_language_defn * get_ext_lang_defn ( enum extension_language lang)

◆ get_ext_lang_of_file()

const struct extension_language_defn * get_ext_lang_of_file ( const char * file)

◆ get_matching_xmethod_workers()

void get_matching_xmethod_workers ( struct type * type,
const char * method_name,
std::vector< xmethod_worker_up > * workers )

Definition at line 886 of file extension.c.

References EXT_LANG_RC_ERROR, and extension_languages.

Referenced by find_method_list().

◆ has_extension()

static int has_extension ( const char * file,
const char * extension )
static

Definition at line 118 of file extension.c.

Referenced by get_ext_lang_of_file().

◆ install_ext_sigint_handler()

static void install_ext_sigint_handler ( const struct signal_handler * handler_state)
static

◆ install_gdb_sigint_handler()

static void install_gdb_sigint_handler ( struct signal_handler * previous)
static

◆ preserve_ext_lang_values()

void preserve_ext_lang_values ( struct objfile * objfile,
htab_t copied_types )

Definition at line 563 of file extension.c.

References extension_languages.

Referenced by preserve_values().

◆ restore_active_ext_lang()

void restore_active_ext_lang ( struct active_ext_lang_state * previous)

◆ set_active_ext_lang()

struct active_ext_lang_state * set_active_ext_lang ( const struct extension_language_defn * now_active)

◆ set_quit_flag()

void set_quit_flag ( void )

◆ source_gdb_objfile_script()

static void source_gdb_objfile_script ( const struct extension_language_defn * extlang,
struct objfile * objfile,
FILE * stream,
const char * file )
static

Definition at line 195 of file extension.c.

References script_from_file().

◆ source_gdb_script()

static void source_gdb_script ( const struct extension_language_defn * extlang,
FILE * stream,
const char * file )
static

Definition at line 186 of file extension.c.

References script_from_file().

◆ throw_ext_lang_unsupported()

void throw_ext_lang_unsupported ( const struct extension_language_defn * extlang)

Variable Documentation

◆ active_ext_lang

const struct extension_language_defn* active_ext_lang = &extension_language_gdb
static

Definition at line 647 of file extension.c.

Referenced by restore_active_ext_lang(), set_active_ext_lang(), and set_quit_flag().

◆ cooperative_sigint_handling_disabled

bool cooperative_sigint_handling_disabled = false
static

◆ extension_language_gdb

const struct extension_language_defn extension_language_gdb
Initial value:
=
{
"gdb",
"GDB",
".gdb",
"-gdb.gdb",
NULL
}
@ commands_control
Definition cli-script.h:42
static const struct extension_language_script_ops extension_language_gdb_script_ops
Definition extension.c:45
@ EXT_LANG_GDB
Definition extension.h:63

Definition at line 53 of file extension.c.

Referenced by auto_load_ext_lang_scripts_for_objfile(), get_ext_lang_defn(), get_ext_lang_of_file(), info_auto_load_gdb_scripts(), and scoped_disable_cooperative_sigint_handling::scoped_disable_cooperative_sigint_handling().

◆ extension_language_gdb_script_ops

const struct extension_language_script_ops extension_language_gdb_script_ops
static
Initial value:
=
{
NULL,
}
bool auto_load_gdb_scripts_enabled(const struct extension_language_defn *extlang)
Definition auto-load.c:103
static objfile_script_sourcer_func source_gdb_objfile_script
Definition extension.c:39
static script_sourcer_func source_gdb_script
Definition extension.c:38

Definition at line 45 of file extension.c.

◆ extension_languages

const std::array<const extension_language_defn *, 2> extension_languages
static

◆ quit_flag

int quit_flag
static

Definition at line 640 of file extension.c.

Referenced by check_quit_flag(), remote_target::putpkt_binary(), and set_quit_flag().

◆ source_gdb_objfile_script

objfile_script_sourcer_func source_gdb_objfile_script
static

Definition at line 39 of file extension.c.

◆ source_gdb_script

script_sourcer_func source_gdb_script
static

Definition at line 38 of file extension.c.