GDB (xrefs)
|
#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) |
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_defn * | active_ext_lang = &extension_language_gdb |
initialize_file_ftype | _initialize_extension |
#define ALL_ENABLED_EXTENSION_LANGUAGES | ( | i, | |
extlang | |||
) |
Definition at line 47 of file extension.c.
Referenced by apply_ext_lang_frame_filter(), apply_ext_lang_type_printers(), apply_ext_lang_val_pretty_printer(), auto_load_ext_lang_scripts_for_objfile(), breakpoint_ext_lang_cond_says_stop(), check_quit_flag(), clear_quit_flag(), ext_lang_before_prompt(), finish_ext_lang_initialization(), free_ext_lang_type_printers(), get_breakpoint_cond_ext_lang(), preserve_ext_lang_values(), start_ext_lang_type_printers(), and VEC().
#define ALL_EXTENSION_LANGUAGES | ( | i, | |
extlang | |||
) |
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().
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 | ||
) |
Definition at line 555 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::apply_frame_filter, EXT_LANG_BT_NO_FILTERS, extension_language_defn::ops, and status.
Referenced by backtrace_command_1(), mi_apply_ext_lang_frame_filter(), and mi_cmd_stack_list_frames().
char* apply_ext_lang_type_printers | ( | struct ext_lang_type_printers * | printers, |
struct type * | type | ||
) |
Definition at line 430 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::apply_type_printers, EXT_LANG_RC_ERROR, EXT_LANG_RC_NOP, EXT_LANG_RC_OK, gdb_assert, gdb_assert_not_reached, and extension_language_defn::ops.
Referenced by find_global_typedef().
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 | ||
) |
Definition at line 498 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::apply_val_pretty_printer, EXT_LANG_RC_ERROR, EXT_LANG_RC_NOP, EXT_LANG_RC_OK, gdb_assert_not_reached, and extension_language_defn::ops.
Referenced by cp_print_value(), val_print(), and value_print().
void auto_load_ext_lang_scripts_for_objfile | ( | struct objfile * | objfile | ) |
Definition at line 382 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, auto_load_objfile_script(), ext_lang_auto_load_enabled(), and extension_language_gdb.
Referenced by load_auto_scripts_for_objfile().
int breakpoint_ext_lang_cond_says_stop | ( | struct breakpoint * | b | ) |
Definition at line 634 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::breakpoint_cond_says_stop, EXT_LANG_BP_STOP_NO, EXT_LANG_BP_STOP_UNSET, gdb_assert, and extension_language_defn::ops.
Referenced by bpstat_check_breakpoint_conditions().
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 | ) |
Clear the quit flag.
Definition at line 793 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::clear_quit_flag, and extension_language_defn::ops.
Referenced by captured_main(), command_handler(), command_loop(), gdb_os_poll_quit(), prepare_to_throw_exception(), and remote_wait_as().
struct xmethod_worker* clone_xmethod_worker | ( | struct xmethod_worker * | worker | ) |
Definition at line 884 of file extension.c.
References extension_language_ops::clone_xmethod_worker_data, xmethod_worker::data, xmethod_worker::extlang, gdb_assert, new_xmethod_worker(), and extension_language_defn::ops.
Referenced by find_overload_match().
void eval_ext_lang_from_control_command | ( | struct command_line * | cmd | ) |
Definition at line 352 of file extension.c.
References ALL_EXTENSION_LANGUAGES, extension_language_defn::cli_control_type, command_line::control_type, extension_language_ops::eval_from_control_command, gdb_assert_not_reached, extension_language_defn::ops, and throw_ext_lang_unsupported().
Referenced by execute_control_command().
int ext_lang_auto_load_enabled | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 309 of file extension.c.
References extension_language_script_ops::auto_load_enabled, gdb_assert, and extension_language_defn::script_ops.
Referenced by auto_load_ext_lang_scripts_for_objfile(), execute_script_contents(), and source_script_file().
const char* ext_lang_auto_load_suffix | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 250 of file extension.c.
References extension_language_defn::auto_load_suffix.
Referenced by _initialize_auto_load(), and auto_load_objfile_script_1().
|
static |
Definition at line 1038 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::before_prompt, EXT_LANG_RC_ERROR, EXT_LANG_RC_NOP, EXT_LANG_RC_OK, gdb_assert_not_reached, and extension_language_defn::ops.
Referenced by _initialize_extension().
const char* ext_lang_capitalized_name | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 234 of file extension.c.
References extension_language_defn::capitalized_name.
Referenced by condition_command(), gdbscm_set_breakpoint_stop_x(), local_setattro(), and throw_ext_lang_unsupported().
int ext_lang_initialized_p | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 178 of file extension.c.
References gdb_assert, extension_language_ops::initialized, and extension_language_defn::ops.
Referenced by mi_cmd_list_features().
const char* ext_lang_name | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 226 of file extension.c.
References extension_language_defn::name.
Referenced by auto_load_objfile_script_1(), execute_script_contents(), maybe_print_script_not_found_warning(), maybe_print_unsupported_script_warning(), and source_script_file().
objfile_script_executor_func* ext_lang_objfile_script_executor | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 297 of file extension.c.
References extension_language_script_ops::objfile_script_executor, and extension_language_defn::script_ops.
Referenced by execute_script_contents().
objfile_script_sourcer_func* ext_lang_objfile_script_sourcer | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 279 of file extension.c.
References gdb_assert, extension_language_script_ops::objfile_script_sourcer, and extension_language_defn::script_ops.
Referenced by auto_load_objfile_script_1(), and source_script_file().
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 | ) |
Definition at line 262 of file extension.c.
References gdb_assert, extension_language_defn::script_ops, and extension_language_script_ops::script_sourcer.
Referenced by source_script_from_stream().
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 | ) |
Definition at line 328 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::finish_initialization, and extension_language_defn::ops.
Referenced by gdb_init().
void free_ext_lang_type_printers | ( | struct ext_lang_type_printers * | printers | ) |
Definition at line 466 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::free_type_printers, extension_language_defn::ops, and xfree().
Referenced by do_free_global_table().
void free_xmethod_worker | ( | struct xmethod_worker * | worker | ) |
Definition at line 1009 of file extension.c.
References xmethod_worker::data, xmethod_worker::extlang, extension_language_ops::free_xmethod_worker_data, gdb_assert, extension_language_defn::ops, and xfree().
Referenced by free_xmethod_worker_vec(), and value_free().
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 | ||
) |
Definition at line 613 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_ops::breakpoint_has_cond, extension_language_defn::language, and extension_language_defn::ops.
Referenced by condition_command(), gdbscm_set_breakpoint_stop_x(), and local_setattro().
const struct extension_language_defn* get_ext_lang_defn | ( | enum extension_language | lang | ) |
Definition at line 115 of file extension.c.
References ALL_EXTENSION_LANGUAGES, EXT_LANG_GDB, EXT_LANG_NONE, extension_language_gdb, gdb_assert, gdb_assert_not_reached, and extension_language_defn::language.
Referenced by _initialize_auto_load(), gdbscm_set_breakpoint_stop_x(), local_setattro(), mi_cmd_list_features(), and source_section_scripts().
const struct extension_language_defn* get_ext_lang_of_file | ( | const char * | file | ) |
Definition at line 151 of file extension.c.
References ALL_EXTENSION_LANGUAGES, has_extension(), and extension_language_defn::suffix.
Referenced by source_script_from_stream().
struct type** get_xmethod_arg_types | ( | struct xmethod_worker * | worker, |
int * | nargs | ||
) |
Definition at line 948 of file extension.c.
References _, extension_language_defn::capitalized_name, error(), EXT_LANG_RC_ERROR, xmethod_worker::extlang, gdb_assert, extension_language_ops::get_xmethod_arg_types, and extension_language_defn::ops.
Referenced by find_oload_champ().
struct type* get_xmethod_result_type | ( | struct xmethod_worker * | worker, |
struct value * | object, | ||
struct value ** | args, | ||
int | nargs | ||
) |
Definition at line 971 of file extension.c.
References _, extension_language_defn::capitalized_name, error(), EXT_LANG_RC_ERROR, xmethod_worker::extlang, gdb_assert, extension_language_ops::get_xmethod_arg_types, extension_language_ops::get_xmethod_result_type, and extension_language_defn::ops.
Referenced by result_type_of_xmethod().
Definition at line 137 of file extension.c.
Referenced by get_ext_lang_of_file().
|
static |
Definition at line 707 of file extension.c.
References handle_sigint(), signal_handler::handler, signal_handler::handler_saved, and RETSIGTYPE.
Referenced by set_active_ext_lang().
|
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 | ||
) |
Definition at line 997 of file extension.c.
References xmethod_worker::extlang, gdb_assert, extension_language_ops::invoke_xmethod, and extension_language_defn::ops.
Referenced by call_xmethod().
struct xmethod_worker* new_xmethod_worker | ( | const struct extension_language_defn * | extlang, |
void * | data | ||
) |
Definition at line 864 of file extension.c.
References xmethod_worker::data, xmethod_worker::extlang, and xmethod_worker::value.
Referenced by clone_xmethod_worker(), and new_python_xmethod_worker().
void preserve_ext_lang_values | ( | struct objfile * | objfile, |
htab_t | copied_types | ||
) |
Definition at line 591 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_defn::ops, and extension_language_ops::preserve_values.
Referenced by preserve_values().
void restore_active_ext_lang | ( | struct active_ext_lang_state * | previous | ) |
Definition at line 769 of file extension.c.
References active_ext_lang, check_quit_flag(), active_ext_lang_state::ext_lang, signal_handler::handler_saved, install_sigint_handler(), set_quit_flag(), active_ext_lang_state::sigint_handler, and xfree().
Referenced by finalize_python(), and restore_python_env().
struct active_ext_lang_state* set_active_ext_lang | ( | const struct extension_language_defn * | now_active | ) |
Definition at line 743 of file extension.c.
References active_ext_lang, extension_language_ops::check_quit_flag, check_quit_flag(), active_ext_lang_state::ext_lang, EXT_LANG_GDB, install_gdb_sigint_handler(), extension_language_defn::language, extension_language_defn::ops, set_quit_flag(), and active_ext_lang_state::sigint_handler.
Referenced by ensure_python_env(), and finalize_python().
void set_quit_flag | ( | void | ) |
Set the quit flag.
Definition at line 816 of file extension.c.
References active_ext_lang, extension_language_defn::ops, and extension_language_ops::set_quit_flag.
Referenced by handle_sigint(), handle_sigterm(), restore_active_ext_lang(), and set_active_ext_lang().
|
static |
Definition at line 214 of file extension.c.
References script_from_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 | ) |
Definition at line 408 of file extension.c.
References ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_defn::ops, and extension_language_ops::start_type_printers.
Referenced by create_global_typedef_table().
void throw_ext_lang_unsupported | ( | const struct extension_language_defn * | extlang | ) |
Definition at line 193 of file extension.c.
References _, error(), and ext_lang_capitalized_name().
Referenced by eval_ext_lang_from_control_command(), and source_script_from_stream().
VEC | ( | xmethod_worker_ptr | ) |
Definition at line 904 of file extension.c.
References _, ALL_ENABLED_EXTENSION_LANGUAGES, extension_language_defn::capitalized_name, error(), EXT_LANG_RC_ERROR, free_xmethod_worker_vec(), extension_language_ops::get_matching_xmethod_workers, extension_language_defn::ops, VEC(), VEC_free, and VEC_merge.
Referenced by free_xmethod_worker_vec(), and VEC().
initialize_file_ftype _initialize_extension |
|
static |
Definition at line 681 of file extension.c.
Referenced by get_active_ext_lang(), restore_active_ext_lang(), set_active_ext_lang(), and set_quit_flag().
const struct extension_language_defn extension_language_gdb |
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().
|
static |
Definition at line 60 of file extension.c.
|
static |
Definition at line 101 of file extension.c.
|
static |
Definition at line 673 of file extension.c.
Referenced by putpkt_binary().
|
static |
Definition at line 54 of file extension.c.
|
static |
Definition at line 53 of file extension.c.