GDB (xrefs)
|
#include "defs.h"
#include "block.h"
#include "dictionary.h"
#include "objfiles.h"
#include "source.h"
#include "symtab.h"
#include "guile-internal.h"
Go to the source code of this file.
Classes | |
struct | _block_smob |
struct | block_syms_progress_smob |
Typedefs | |
typedef struct _block_smob | block_smob |
Functions | |
static hashval_t | bkscm_hash_block_smob (const void *p) |
static int | bkscm_eq_block_smob (const void *ap, const void *bp) |
static htab_t | bkscm_objfile_block_map (struct objfile *objfile) |
static size_t | bkscm_free_block_smob (SCM self) |
static int | bkscm_print_block_smob (SCM self, SCM port, scm_print_state *pstate) |
static SCM | bkscm_make_block_smob (void) |
static int | bkscm_is_block (SCM scm) |
static SCM | gdbscm_block_p (SCM scm) |
SCM | bkscm_scm_from_block (const struct block *block, struct objfile *objfile) |
static SCM | bkscm_get_block_arg_unsafe (SCM self, int arg_pos, const char *func_name) |
static block_smob * | bkscm_get_block_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name) |
static int | bkscm_is_valid (block_smob *b_smob) |
static block_smob * | bkscm_get_valid_block_smob_arg_unsafe (SCM self, int arg_pos, const char *func_name) |
static block_smob * | bkscm_get_valid_block (SCM scm, int arg_pos, const char *func_name, SCM *excp) |
const struct block * | bkscm_scm_to_block (SCM block_scm, int arg_pos, const char *func_name, SCM *excp) |
static int | bkscm_mark_block_invalid (void **slot, void *info) |
static void | bkscm_del_objfile_blocks (struct objfile *objfile, void *datum) |
static SCM | gdbscm_block_valid_p (SCM self) |
static SCM | gdbscm_block_start (SCM self) |
static SCM | gdbscm_block_end (SCM self) |
static SCM | gdbscm_block_function (SCM self) |
static SCM | gdbscm_block_superblock (SCM self) |
static SCM | gdbscm_block_global_block (SCM self) |
static SCM | gdbscm_block_static_block (SCM self) |
static SCM | gdbscm_block_global_p (SCM self) |
static SCM | gdbscm_block_static_p (SCM self) |
static SCM | gdbscm_block_symbols (SCM self) |
static int | bkscm_print_block_syms_progress_smob (SCM self, SCM port, scm_print_state *pstate) |
static SCM | bkscm_make_block_syms_progress_smob (void) |
static int | bkscm_is_block_syms_progress (SCM scm) |
static SCM | bkscm_block_syms_progress_p (SCM scm) |
static SCM | gdbscm_make_block_syms_iter (SCM self) |
static SCM | gdbscm_block_next_symbol_x (SCM self) |
static SCM | gdbscm_lookup_block (SCM pc_scm) |
void | gdbscm_initialize_blocks (void) |
Variables | |
static const char | block_smob_name [] = "gdb:block" |
static const char | block_syms_progress_smob_name [] = "gdb:block-symbols-iterator" |
static scm_t_bits | block_smob_tag |
static scm_t_bits | block_syms_progress_smob_tag |
static SCM | bkscm_next_symbol_x_proc |
static const struct objfile_data * | bkscm_objfile_data_key |
static const scheme_function | block_functions [] |
typedef struct _block_smob block_smob |
|
static |
Definition at line 605 of file scm-block.c.
References bkscm_is_block_syms_progress().
|
static |
Definition at line 348 of file scm-block.c.
References bkscm_mark_block_invalid().
Referenced by gdbscm_initialize_blocks().
Definition at line 96 of file scm-block.c.
References _block_smob::block.
Referenced by bkscm_objfile_block_map().
|
static |
Definition at line 126 of file scm-block.c.
References _block_smob::base, bkscm_objfile_block_map(), _block_smob::block, gdbscm_clear_eqable_gsmob_ptr_slot(), and _block_smob::objfile.
Referenced by gdbscm_initialize_blocks().
Definition at line 238 of file scm-block.c.
References bkscm_is_block(), and block_smob_name.
Referenced by bkscm_get_block_smob_arg_unsafe().
|
static |
Definition at line 250 of file scm-block.c.
References bkscm_get_block_arg_unsafe().
Referenced by bkscm_get_valid_block_smob_arg_unsafe(), and gdbscm_block_valid_p().
|
static |
Definition at line 290 of file scm-block.c.
References _, bkscm_is_block(), bkscm_is_valid(), block_smob_name, gdbscm_make_invalid_object_error(), and gdbscm_make_type_error().
Referenced by bkscm_scm_to_block().
|
static |
Definition at line 270 of file scm-block.c.
References _, bkscm_get_block_smob_arg_unsafe(), bkscm_is_valid(), and gdbscm_invalid_object_error().
Referenced by gdbscm_block_end(), gdbscm_block_function(), gdbscm_block_global_block(), gdbscm_block_global_p(), gdbscm_block_next_symbol_x(), gdbscm_block_start(), gdbscm_block_static_block(), gdbscm_block_static_p(), gdbscm_block_superblock(), gdbscm_block_symbols(), and gdbscm_make_block_syms_iter().
|
static |
Definition at line 86 of file scm-block.c.
References _block_smob::block.
Referenced by bkscm_objfile_block_map().
|
static |
Definition at line 193 of file scm-block.c.
References block_smob_tag.
Referenced by bkscm_get_block_arg_unsafe(), bkscm_get_valid_block(), and gdbscm_block_p().
|
static |
Definition at line 597 of file scm-block.c.
References block_syms_progress_smob_tag.
Referenced by bkscm_block_syms_progress_p(), and gdbscm_block_next_symbol_x().
|
static |
Definition at line 261 of file scm-block.c.
References _block_smob::block.
Referenced by bkscm_get_valid_block(), bkscm_get_valid_block_smob_arg_unsafe(), and gdbscm_block_valid_p().
|
static |
Definition at line 176 of file scm-block.c.
References _block_smob::block, block_smob_name, block_smob_tag, gdbscm_init_eqable_gsmob(), _block_smob::objfile, and scm_new_smob().
Referenced by bkscm_scm_from_block().
|
static |
Definition at line 579 of file scm-block.c.
References block_syms_progress_smob_name, block_syms_progress_smob_tag, gdbscm_init_gsmob(), block_syms_progress_smob::initialized_p, block_syms_progress_smob::iter, and scm_new_smob().
Referenced by gdbscm_make_block_syms_iter().
|
static |
Definition at line 333 of file scm-block.c.
References _block_smob::block, and _block_smob::objfile.
Referenced by bkscm_del_objfile_blocks().
|
static |
Definition at line 109 of file scm-block.c.
References bkscm_eq_block_smob(), bkscm_hash_block_smob(), bkscm_objfile_data_key, and gdbscm_create_eqable_gsmob_ptr_map().
Referenced by bkscm_free_block_smob(), and bkscm_scm_from_block().
|
static |
Definition at line 147 of file scm-block.c.
References _block_smob::block, BLOCK_END, BLOCK_FUNCTION, block_smob_name, BLOCK_START, BLOCK_SUPERBLOCK, gdbscm_printf(), hex_string(), and SYMBOL_PRINT_NAME.
Referenced by gdbscm_initialize_blocks().
|
static |
Definition at line 530 of file scm-block.c.
References block_syms_progress_smob_name, compunit_primary_filetab(), block_iterator::compunit_symtab, block_iterator::d, FIRST_LOCAL_BLOCK, gdbscm_printf(), GLOBAL_BLOCK, block_iterator::idx, compunit_symtab::includes, block_syms_progress_smob::initialized_p, block_syms_progress_smob::iter, STATIC_BLOCK, symtab_to_filename_for_display(), and block_iterator::which.
Referenced by gdbscm_initialize_blocks().
Definition at line 210 of file scm-block.c.
References _block_smob::base, bkscm_make_block_smob(), bkscm_objfile_block_map(), _block_smob::block, gdbscm_fill_eqable_gsmob_ptr_slot(), gdbscm_find_eqable_gsmob_ptr_slot(), and _block_smob::objfile.
Referenced by gdbscm_block_global_block(), gdbscm_block_static_block(), gdbscm_block_superblock(), gdbscm_frame_block(), gdbscm_lookup_block(), gdbscm_symtab_global_block(), and gdbscm_symtab_static_block().
const struct block* bkscm_scm_to_block | ( | SCM | block_scm, |
int | arg_pos, | ||
const char * | func_name, | ||
SCM * | excp | ||
) |
Definition at line 317 of file scm-block.c.
References bkscm_get_valid_block(), and _block_smob::block.
Referenced by gdbscm_frame_read_var(), gdbscm_lookup_symbol(), and gdbscm_lookup_type().
|
static |
Definition at line 388 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), _block_smob::block, BLOCK_END, FUNC_NAME, and gdbscm_scm_from_ulongest().
|
static |
Definition at line 400 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), _block_smob::block, BLOCK_FUNCTION, FUNC_NAME, and syscm_scm_from_symbol().
|
static |
Definition at line 435 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), bkscm_scm_from_block(), _block_smob::block, block_global_block(), FUNC_NAME, and _block_smob::objfile.
|
static |
Definition at line 471 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), _block_smob::block, BLOCK_SUPERBLOCK, and FUNC_NAME.
|
static |
Definition at line 633 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), bkscm_is_block_syms_progress(), _block_smob::block, block_iterator_first(), block_iterator_next(), block_syms_progress_smob_name, FUNC_NAME, gdbscm_end_of_iteration(), block_syms_progress_smob::initialized_p, block_syms_progress_smob::iter, itscm_get_iterator_arg_unsafe(), itscm_iterator_smob_object(), itscm_iterator_smob_progress(), and syscm_scm_from_symbol().
Referenced by gdbscm_initialize_blocks().
|
static |
Definition at line 201 of file scm-block.c.
References bkscm_is_block().
|
static |
Definition at line 376 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), _block_smob::block, BLOCK_START, FUNC_NAME, and gdbscm_scm_from_ulongest().
|
static |
Definition at line 452 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), bkscm_scm_from_block(), _block_smob::block, block_static_block(), BLOCK_SUPERBLOCK, FUNC_NAME, and _block_smob::objfile.
|
static |
Definition at line 484 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), _block_smob::block, BLOCK_SUPERBLOCK, and FUNC_NAME.
|
static |
Definition at line 417 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), bkscm_scm_from_block(), _block_smob::block, BLOCK_SUPERBLOCK, FUNC_NAME, and _block_smob::objfile.
|
static |
Definition at line 500 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), _block_smob::block, block_iterator_first(), block_iterator_next(), FUNC_NAME, and syscm_scm_from_symbol().
|
static |
Definition at line 365 of file scm-block.c.
References bkscm_get_block_smob_arg_unsafe(), bkscm_is_valid(), and FUNC_NAME.
void gdbscm_initialize_blocks | ( | void | ) |
Definition at line 777 of file scm-block.c.
References bkscm_del_objfile_blocks(), bkscm_free_block_smob(), bkscm_next_symbol_x_proc, bkscm_objfile_data_key, bkscm_print_block_smob(), bkscm_print_block_syms_progress_smob(), block_smob_name, block_smob_tag, block_syms_progress_smob_name, block_syms_progress_smob_tag, gdbscm_block_next_symbol_x(), gdbscm_define_functions(), gdbscm_documentation_symbol, gdbscm_make_smob_type(), and gdbscm_scm_from_c_string().
|
static |
Definition at line 676 of file scm-block.c.
References _, bkscm_scm_from_block(), block_for_pc(), CATCH, COMPUNIT_OBJFILE, END_CATCH, find_pc_compunit_symtab(), FUNC_NAME, GDBSCM_HANDLE_GDB_EXCEPTION, gdbscm_out_of_range_error(), gdbscm_parse_function_args(), RETURN_MASK_ALL, and TRY.
|
static |
Definition at line 614 of file scm-block.c.
References bkscm_get_valid_block_smob_arg_unsafe(), bkscm_make_block_syms_progress_smob(), bkscm_next_symbol_x_proc, _block_smob::block, FUNC_NAME, and gdbscm_make_iterator().
|
static |
Definition at line 77 of file scm-block.c.
Referenced by gdbscm_initialize_blocks(), and gdbscm_make_block_syms_iter().
|
static |
Definition at line 79 of file scm-block.c.
Referenced by bkscm_objfile_block_map(), and gdbscm_initialize_blocks().
|
static |
Definition at line 710 of file scm-block.c.
|
static |
Definition at line 69 of file scm-block.c.
Referenced by bkscm_get_block_arg_unsafe(), bkscm_get_valid_block(), bkscm_make_block_smob(), bkscm_print_block_smob(), and gdbscm_initialize_blocks().
|
static |
Definition at line 73 of file scm-block.c.
Referenced by bkscm_is_block(), bkscm_make_block_smob(), and gdbscm_initialize_blocks().
|
static |
Definition at line 70 of file scm-block.c.
Referenced by bkscm_make_block_syms_progress_smob(), bkscm_print_block_syms_progress_smob(), gdbscm_block_next_symbol_x(), and gdbscm_initialize_blocks().
|
static |
Definition at line 74 of file scm-block.c.
Referenced by bkscm_is_block_syms_progress(), bkscm_make_block_syms_progress_smob(), and gdbscm_initialize_blocks().