GDB (xrefs)
Macros | Functions | Variables
/tmp/gdb-7.10/gdb/extension.c File Reference
#include "defs.h"
#include <signal.h>
#include "auto-load.h"
#include "breakpoint.h"
#include "event-top.h"
#include "extension.h"
#include "extension-priv.h"
#include "observer.h"
#include "cli/cli-script.h"
#include "python/python.h"
#include "guile/guile.h"

Go to the source code of this file.

Macros

#define ALL_EXTENSION_LANGUAGES(i, extlang)
 
#define ALL_ENABLED_EXTENSION_LANGUAGES(i, extlang)
 

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)
 
int ext_lang_auto_load_enabled (const struct extension_language_defn *extlang)
 
void finish_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)
 
struct ext_lang_type_printersstart_ext_lang_type_printers (void)
 
char * apply_ext_lang_type_printers (struct ext_lang_type_printers *printers, struct type *type)
 
void free_ext_lang_type_printers (struct ext_lang_type_printers *printers)
 
int apply_ext_lang_val_pretty_printer (struct type *type, const gdb_byte *valaddr, int embedded_offset, CORE_ADDR address, struct ui_file *stream, int recurse, const struct value *val, const struct value_print_options *options, const struct language_defn *language)
 
enum ext_lang_bt_status apply_ext_lang_frame_filter (struct frame_info *frame, int 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)
 
int breakpoint_ext_lang_cond_says_stop (struct breakpoint *b)
 
const struct extension_language_defnget_active_ext_lang (void)
 
static void install_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 clear_quit_flag (void)
 
void set_quit_flag (void)
 
int check_quit_flag (void)
 
struct xmethod_workernew_xmethod_worker (const struct extension_language_defn *extlang, void *data)
 
struct xmethod_workerclone_xmethod_worker (struct xmethod_worker *worker)
 
 VEC (xmethod_worker_ptr)
 
struct type ** get_xmethod_arg_types (struct xmethod_worker *worker, int *nargs)
 
struct typeget_xmethod_result_type (struct xmethod_worker *worker, struct value *object, struct value **args, int nargs)
 
struct valueinvoke_xmethod (struct xmethod_worker *worker, struct value *obj, struct value **args, int nargs)
 
void free_xmethod_worker (struct xmethod_worker *worker)
 
void free_xmethod_worker_vec (void *vec)
 
static void ext_lang_before_prompt (const char *current_gdb_prompt)
 
void _initialize_extension (void)
 

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 struct extension_language_defn *const extension_languages []
 
static int quit_flag
 
static const struct extension_language_defnactive_ext_lang = &extension_language_gdb
 
initialize_file_ftype _initialize_extension
 

Macro Definition Documentation

#define ALL_ENABLED_EXTENSION_LANGUAGES (   i,
  extlang 
)
#define ALL_EXTENSION_LANGUAGES (   i,
  extlang 
)
Value:
for (/*int*/ i = 0, extlang = extension_languages[0]; \
extlang != NULL; \
extlang = extension_languages[++i])
static const struct extension_language_defn *const extension_languages[]
Definition: extension.c:101

Definition at line 39 of file extension.c.

Referenced by eval_ext_lang_from_control_command(), get_ext_lang_defn(), and get_ext_lang_of_file().

Function Documentation

void _initialize_extension ( void  )

Definition at line 1066 of file extension.c.

References ext_lang_before_prompt(), and observer_attach_before_prompt().

enum ext_lang_bt_status apply_ext_lang_frame_filter ( struct frame_info frame,
int  flags,
enum ext_lang_frame_args  args_type,
struct ui_out out,
int  frame_low,
int  frame_high 
)
char* apply_ext_lang_type_printers ( struct ext_lang_type_printers printers,
struct type type 
)
int apply_ext_lang_val_pretty_printer ( struct type type,
const gdb_byte valaddr,
int  embedded_offset,
CORE_ADDR  address,
struct ui_file stream,
int  recurse,
const struct value val,
const struct value_print_options options,
const struct language_defn language 
)
void auto_load_ext_lang_scripts_for_objfile ( struct objfile objfile)
int breakpoint_ext_lang_cond_says_stop ( struct breakpoint b)
int check_quit_flag ( void  )

Evaluate to non-zero if the quit flag is set, zero otherwise. This will clear the quit flag as a side effect.

Definition at line 831 of file extension.c.

References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::check_quit_flag, and extension_language_defn::ops.

Referenced by async_request_quit(), gdb_os_poll_quit(), load_progress(), maybe_quit(), remote_wait_as(), restore_active_ext_lang(), and set_active_ext_lang().

void clear_quit_flag ( void  )
struct xmethod_worker* clone_xmethod_worker ( struct xmethod_worker worker)
void eval_ext_lang_from_control_command ( struct command_line cmd)
int ext_lang_auto_load_enabled ( const struct extension_language_defn extlang)
const char* ext_lang_auto_load_suffix ( const struct extension_language_defn extlang)
static void ext_lang_before_prompt ( const char *  current_gdb_prompt)
static
const char* ext_lang_capitalized_name ( const struct extension_language_defn extlang)
int ext_lang_initialized_p ( const struct extension_language_defn extlang)
const char* ext_lang_name ( const struct extension_language_defn extlang)
objfile_script_executor_func* ext_lang_objfile_script_executor ( const struct extension_language_defn extlang)
objfile_script_sourcer_func* ext_lang_objfile_script_sourcer ( const struct extension_language_defn extlang)
int ext_lang_present_p ( const struct extension_language_defn extlang)

Definition at line 169 of file extension.c.

References extension_language_defn::script_ops.

Referenced by source_script_from_stream().

script_sourcer_func* ext_lang_script_sourcer ( const struct extension_language_defn extlang)
const char* ext_lang_suffix ( const struct extension_language_defn extlang)

Definition at line 242 of file extension.c.

References extension_language_defn::suffix.

void finish_ext_lang_initialization ( void  )
void free_ext_lang_type_printers ( struct ext_lang_type_printers printers)
void free_xmethod_worker ( struct xmethod_worker worker)
void free_xmethod_worker_vec ( void *  vec)

Definition at line 1020 of file extension.c.

References free_xmethod_worker(), VEC(), VEC_free, and VEC_iterate.

Referenced by find_overload_match(), and VEC().

const struct extension_language_defn* get_active_ext_lang ( void  )

Definition at line 686 of file extension.c.

References active_ext_lang.

const struct extension_language_defn* get_breakpoint_cond_ext_lang ( struct breakpoint b,
enum extension_language  skip_lang 
)
const struct extension_language_defn* get_ext_lang_defn ( enum extension_language  lang)
const struct extension_language_defn* get_ext_lang_of_file ( const char *  file)
struct type** get_xmethod_arg_types ( struct xmethod_worker worker,
int nargs 
)
struct type* get_xmethod_result_type ( struct xmethod_worker worker,
struct value object,
struct value **  args,
int  nargs 
)
static int has_extension ( const char *  file,
const char *  extension 
)
static

Definition at line 137 of file extension.c.

Referenced by get_ext_lang_of_file().

static void install_gdb_sigint_handler ( struct signal_handler previous)
static
static void install_sigint_handler ( const struct signal_handler handler_state)
static

Definition at line 694 of file extension.c.

References gdb_assert, signal_handler::handler, and signal_handler::handler_saved.

Referenced by restore_active_ext_lang().

struct value* invoke_xmethod ( struct xmethod_worker worker,
struct value obj,
struct value **  args,
int  nargs 
)
struct xmethod_worker* new_xmethod_worker ( const struct extension_language_defn extlang,
void *  data 
)
void preserve_ext_lang_values ( struct objfile objfile,
htab_t  copied_types 
)
void restore_active_ext_lang ( struct active_ext_lang_state previous)
struct active_ext_lang_state* set_active_ext_lang ( const struct extension_language_defn now_active)
void set_quit_flag ( void  )
static void source_gdb_objfile_script ( const struct extension_language_defn extlang,
struct objfile objfile,
FILE *  stream,
const char *  file 
)
static

Definition at line 214 of file extension.c.

References script_from_file().

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

Definition at line 205 of file extension.c.

References script_from_file().

struct ext_lang_type_printers* start_ext_lang_type_printers ( void  )
void throw_ext_lang_unsupported ( const struct extension_language_defn extlang)
VEC ( xmethod_worker_ptr  )

Variable Documentation

initialize_file_ftype _initialize_extension
const struct extension_language_defn* active_ext_lang = &extension_language_gdb
static
const struct extension_language_defn extension_language_gdb
Initial value:
=
{
"gdb",
"GDB",
".gdb",
"-gdb.gdb",
NULL
}
static const struct extension_language_script_ops extension_language_gdb_script_ops
Definition: extension.c:60

Definition at line 68 of file extension.c.

Referenced by auto_load_ext_lang_scripts_for_objfile(), get_ext_lang_defn(), and info_auto_load_gdb_scripts().

const struct extension_language_script_ops extension_language_gdb_script_ops
static
Initial value:
=
{
NULL,
}
static objfile_script_sourcer_func source_gdb_objfile_script
Definition: extension.c:54
static script_sourcer_func source_gdb_script
Definition: extension.c:53
int auto_load_gdb_scripts_enabled(const struct extension_language_defn *extlang)
Definition: auto-load.c:97

Definition at line 60 of file extension.c.

const struct extension_language_defn* const extension_languages[]
static
Initial value:
=
{
NULL
}
const struct extension_language_defn extension_language_python
Definition: python.c:66
EXPORTED_CONST struct extension_language_defn extension_language_guile
Definition: guile.c:80

Definition at line 101 of file extension.c.

int quit_flag
static

Definition at line 673 of file extension.c.

Referenced by putpkt_binary().

objfile_script_sourcer_func source_gdb_objfile_script
static

Definition at line 54 of file extension.c.

script_sourcer_func source_gdb_script
static

Definition at line 53 of file extension.c.