GDB (xrefs)
Loading...
Searching...
No Matches
guile.c File Reference
#include "defs.h"
#include "breakpoint.h"
#include "cli/cli-cmds.h"
#include "cli/cli-script.h"
#include "cli/cli-utils.h"
#include "command.h"
#include "gdbcmd.h"
#include "top.h"
#include "ui.h"
#include "extension-priv.h"
#include "utils.h"
#include "gdbsupport/version.h"
#include "guile.h"
#include "guile-internal.h"
#include <signal.h>
#include "gdbsupport/block-signals.h"

Go to the source code of this file.

Functions

static void gdbscm_initialize (const struct extension_language_defn *)
 
static int gdbscm_initialized (const struct extension_language_defn *)
 
static void gdbscm_eval_from_control_command (const struct extension_language_defn *, struct command_line *)
 
static void gdbscm_set_backtrace (int enable)
 
static void guile_repl_command (const char *arg, int from_tty)
 
static void guile_command (const char *arg, int from_tty)
 
static char * compute_scheme_string (struct command_line *l)
 
static void gdbscm_source_script (const struct extension_language_defn *extlang, FILE *file, const char *filename)
 
static SCM gdbscm_execute_gdb_command (SCM command_scm, SCM rest)
 
static SCM gdbscm_data_directory (void)
 
static SCM gdbscm_guile_data_directory (void)
 
static SCM gdbscm_gdb_version (void)
 
static SCM gdbscm_host_config (void)
 
static SCM gdbscm_target_config (void)
 
static SCM boot_guile_support (void *boot_scm_file)
 
static int standard_throw_args_p (SCM args)
 
static void print_standard_throw_error (SCM args)
 
static void print_throw_error (SCM key, SCM args)
 
static SCM handle_boot_error (void *boot_scm_file, SCM key, SCM args)
 
static void initialize_scheme_side (void)
 
static void initialize_gdb_module (void *data)
 
static void * call_initialize_gdb_module (void *data)
 
static void install_gdb_commands (void)
 
void _initialize_guile ()
 

Variables

int gdbscm_guile_major_version
 
int gdbscm_guile_minor_version
 
int gdbscm_guile_micro_version
 
static const char * guile_datadir
 
const char gdbscm_print_excp_none [] = "none"
 
const char gdbscm_print_excp_full [] = "full"
 
const char gdbscm_print_excp_message [] = "message"
 
static const char *const guile_print_excp_enums []
 
const char * gdbscm_print_excp = gdbscm_print_excp_message
 
static script_sourcer_func gdbscm_source_script
 
int gdb_scheme_initialized
 
SCM gdbscm_documentation_symbol
 
static SCM from_tty_keyword
 
static SCM to_string_keyword
 
const char gdbscm_module_name [] = "gdb"
 
const char gdbscm_init_module_name [] = "gdb"
 
static const char boot_scm_filename [] = "boot.scm"
 
static const struct extension_language_script_ops guile_extension_script_ops
 
static const struct extension_language_ops guile_extension_ops
 
const struct extension_language_defn extension_language_guile
 
static struct cmd_list_elementset_guile_list
 
static struct cmd_list_elementshow_guile_list
 
static struct cmd_list_elementinfo_guile_list
 
static const scheme_function misc_guile_functions []
 
cmd_list_elementguile_cmd_element = nullptr
 

Function Documentation

◆ _initialize_guile()

void _initialize_guile ( )

Definition at line 831 of file guile.c.

Referenced by initialize_all_files().

◆ boot_guile_support()

static SCM boot_guile_support ( void * boot_scm_file)
static

Definition at line 448 of file guile.c.

Referenced by initialize_scheme_side().

◆ call_initialize_gdb_module()

static void * call_initialize_gdb_module ( void * data)
static

Definition at line 628 of file guile.c.

References gdbscm_module_name, and initialize_gdb_module().

Referenced by gdbscm_initialize().

◆ compute_scheme_string()

static char * compute_scheme_string ( struct command_line * l)
static

Definition at line 224 of file guile.c.

References command_line::line, command_line::next, size, and xmalloc().

Referenced by gdbscm_eval_from_control_command().

◆ gdbscm_data_directory()

static SCM gdbscm_data_directory ( void )
static

Definition at line 326 of file guile.c.

References gdb_datadir, and gdbscm_scm_from_c_string().

◆ gdbscm_eval_from_control_command()

static void gdbscm_eval_from_control_command ( const struct extension_language_defn * extlang,
struct command_line * cmd )
static

◆ gdbscm_execute_gdb_command()

◆ gdbscm_gdb_version()

static SCM gdbscm_gdb_version ( void )
static

Definition at line 342 of file guile.c.

References gdbscm_scm_from_c_string(), and version.

◆ gdbscm_guile_data_directory()

static SCM gdbscm_guile_data_directory ( void )
static

Definition at line 334 of file guile.c.

References gdbscm_scm_from_c_string(), and guile_datadir.

◆ gdbscm_host_config()

static SCM gdbscm_host_config ( void )
static

Definition at line 350 of file guile.c.

References gdbscm_scm_from_c_string(), and host_name.

◆ gdbscm_initialize()

static void gdbscm_initialize ( const struct extension_language_defn * extlang)
static

Definition at line 646 of file guile.c.

References call_initialize_gdb_module(), and gdbscm_set_backtrace().

◆ gdbscm_initialized()

static int gdbscm_initialized ( const struct extension_language_defn * extlang)
static

Definition at line 715 of file guile.c.

References gdb_scheme_initialized.

◆ gdbscm_set_backtrace()

static void gdbscm_set_backtrace ( int enable)
static

Definition at line 723 of file guile.c.

References enable, and gdbscm_safe_eval_string().

Referenced by gdbscm_initialize().

◆ gdbscm_source_script()

static void gdbscm_source_script ( const struct extension_language_defn * extlang,
FILE * file,
const char * filename )
static

Definition at line 275 of file guile.c.

References gdb_printf(), gdb_stderr, and gdbscm_safe_source_script().

◆ gdbscm_target_config()

static SCM gdbscm_target_config ( void )
static

Definition at line 358 of file guile.c.

References gdbscm_scm_from_c_string(), and target_name.

◆ guile_command()

static void guile_command ( const char * arg,
int from_tty )
static

◆ guile_repl_command()

static void guile_repl_command ( const char * arg,
int from_tty )
static

Definition at line 169 of file guile.c.

References ui::async, current_ui, dont_repeat(), and gdbscm_enter_repl().

Referenced by install_gdb_commands().

◆ handle_boot_error()

static SCM handle_boot_error ( void * boot_scm_file,
SCM key,
SCM args )
static

Definition at line 534 of file guile.c.

References gdb_printf(), gdb_stderr, and print_throw_error().

Referenced by initialize_scheme_side().

◆ initialize_gdb_module()

◆ initialize_scheme_side()

static void initialize_scheme_side ( void )
static

◆ install_gdb_commands()

◆ print_standard_throw_error()

static void print_standard_throw_error ( SCM args)
static

Definition at line 489 of file guile.c.

References gdbscm_is_true.

Referenced by print_throw_error().

◆ print_throw_error()

static void print_throw_error ( SCM key,
SCM args )
static

Definition at line 514 of file guile.c.

References print_standard_throw_error(), and standard_throw_args_p().

Referenced by handle_boot_error().

◆ standard_throw_args_p()

static int standard_throw_args_p ( SCM args)
static

Definition at line 465 of file guile.c.

References gdbscm_is_false, and gdbscm_is_true.

Referenced by print_throw_error().

Variable Documentation

◆ boot_scm_filename

const char boot_scm_filename[] = "boot.scm"
static

Definition at line 100 of file guile.c.

Referenced by initialize_scheme_side().

◆ extension_language_guile

const struct extension_language_defn extension_language_guile
extern
Initial value:
=
{
"guile",
"Guile",
".scm",
"-gdb.scm",
}
@ guile_control
Definition cli-script.h:45
@ EXT_LANG_GUILE
Definition extension.h:65
static const struct extension_language_script_ops guile_extension_script_ops
Definition guile.c:104
static const struct extension_language_ops guile_extension_ops
Definition guile.c:114

Referenced by info_auto_load_guile_scripts().

◆ from_tty_keyword

SCM from_tty_keyword
static

Definition at line 92 of file guile.c.

Referenced by gdbscm_execute_gdb_command(), and initialize_gdb_module().

◆ gdb_scheme_initialized

int gdb_scheme_initialized

◆ gdbscm_documentation_symbol

SCM gdbscm_documentation_symbol

◆ gdbscm_guile_major_version

int gdbscm_guile_major_version

Definition at line 47 of file guile.c.

Referenced by gdbscm_guile_version_is_at_least(), and initialize_gdb_module().

◆ gdbscm_guile_micro_version

int gdbscm_guile_micro_version

Definition at line 49 of file guile.c.

Referenced by gdbscm_guile_version_is_at_least(), and initialize_gdb_module().

◆ gdbscm_guile_minor_version

int gdbscm_guile_minor_version

Definition at line 48 of file guile.c.

Referenced by gdbscm_guile_version_is_at_least(), and initialize_gdb_module().

◆ gdbscm_init_module_name

const char gdbscm_init_module_name[] = "gdb"

Definition at line 97 of file guile.c.

Referenced by gdbscm_print_exception_message(), and gdbscm_print_exception_with_stack().

◆ gdbscm_module_name

const char gdbscm_module_name[] = "gdb"

Definition at line 96 of file guile.c.

Referenced by call_initialize_gdb_module().

◆ gdbscm_print_excp

const char* gdbscm_print_excp = gdbscm_print_excp_message

Definition at line 74 of file guile.c.

Referenced by gdbscm_percent_exception_print_style(), and install_gdb_commands().

◆ gdbscm_print_excp_full

const char gdbscm_print_excp_full[] = "full"

Definition at line 58 of file guile.c.

Referenced by gdbscm_percent_exception_print_style().

◆ gdbscm_print_excp_message

const char gdbscm_print_excp_message[] = "message"

Definition at line 59 of file guile.c.

Referenced by gdbscm_percent_exception_print_style().

◆ gdbscm_print_excp_none

const char gdbscm_print_excp_none[] = "none"

Definition at line 57 of file guile.c.

Referenced by gdbscm_percent_exception_print_style().

◆ gdbscm_source_script

script_sourcer_func gdbscm_source_script
static

Definition at line 83 of file guile.c.

◆ guile_cmd_element

cmd_list_element* guile_cmd_element = nullptr

Definition at line 737 of file guile.c.

Referenced by install_gdb_commands(), and process_next_line().

◆ guile_datadir

const char* guile_datadir
static

Definition at line 53 of file guile.c.

Referenced by gdbscm_guile_data_directory(), and initialize_scheme_side().

◆ guile_extension_ops

const struct extension_language_ops guile_extension_ops
static
Initial value:
=
{
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
NULL,
}
int gdbscm_breakpoint_has_cond(const struct extension_language_defn *, struct breakpoint *b)
enum ext_lang_rc gdbscm_apply_val_pretty_printer(const struct extension_language_defn *, struct value *val, struct ui_file *stream, int recurse, const struct value_print_options *options, const struct language_defn *language)
void gdbscm_preserve_values(const struct extension_language_defn *, struct objfile *, htab_t copied_types)
Definition scm-value.c:89
enum ext_lang_bp_stop gdbscm_breakpoint_cond_says_stop(const struct extension_language_defn *, struct breakpoint *b)
static void gdbscm_initialize(const struct extension_language_defn *)
Definition guile.c:646
static void gdbscm_eval_from_control_command(const struct extension_language_defn *, struct command_line *)
Definition guile.c:254
static int gdbscm_initialized(const struct extension_language_defn *)
Definition guile.c:715

Definition at line 114 of file guile.c.

◆ guile_extension_script_ops

const struct extension_language_script_ops guile_extension_script_ops
static
Initial value:
=
{
}
objfile_script_sourcer_func gdbscm_source_objfile_script
bool gdbscm_auto_load_enabled(const struct extension_language_defn *)
objfile_script_executor_func gdbscm_execute_objfile_script
static script_sourcer_func gdbscm_source_script
Definition guile.c:83

Definition at line 104 of file guile.c.

◆ guile_print_excp_enums

const char* const guile_print_excp_enums[]
static
Initial value:
=
{
NULL
}
const char gdbscm_print_excp_none[]
Definition guile.c:57
const char gdbscm_print_excp_message[]
Definition guile.c:59
const char gdbscm_print_excp_full[]
Definition guile.c:58

Definition at line 62 of file guile.c.

Referenced by install_gdb_commands().

◆ info_guile_list

struct cmd_list_element* info_guile_list
static

Definition at line 399 of file guile.c.

Referenced by install_gdb_commands().

◆ misc_guile_functions

const scheme_function misc_guile_functions[]
static

Definition at line 406 of file guile.c.

Referenced by initialize_gdb_module().

◆ set_guile_list

struct cmd_list_element* set_guile_list
static

Definition at line 397 of file guile.c.

Referenced by install_gdb_commands().

◆ show_guile_list

struct cmd_list_element* show_guile_list
static

Definition at line 398 of file guile.c.

Referenced by install_gdb_commands().

◆ to_string_keyword

SCM to_string_keyword
static

Definition at line 93 of file guile.c.

Referenced by gdbscm_execute_gdb_command(), and initialize_gdb_module().