GDB (xrefs)
|
#include "defs.h"
#include "stap-probe.h"
#include "probe.h"
#include "vec.h"
#include "ui-out.h"
#include "objfiles.h"
#include "arch-utils.h"
#include "command.h"
#include "gdbcmd.h"
#include "filenames.h"
#include "value.h"
#include "ax.h"
#include "ax-gdb.h"
#include "complaints.h"
#include "cli/cli-utils.h"
#include "linespec.h"
#include "user-regs.h"
#include "parser-defs.h"
#include "language.h"
#include "elf-bfd.h"
#include <ctype.h>
Go to the source code of this file.
Classes | |
struct | stap_probe_arg |
struct | stap_probe |
Macros | |
#define | STAP_BASE_SECTION_NAME ".stapsdt.base" |
Typedefs | |
typedef struct stap_probe_arg | stap_probe_arg_s |
Variables | |
const struct probe_ops | stap_probe_ops |
static unsigned int | stap_expression_debug = 0 |
#define STAP_BASE_SECTION_NAME ".stapsdt.base" |
Definition at line 46 of file stap-probe.c.
Referenced by get_stap_base_address_1().
typedef struct stap_probe_arg stap_probe_arg_s |
Definition at line 98 of file stap-probe.c.
enum stap_arg_bitness |
Definition at line 71 of file stap-probe.c.
enum stap_operand_prec |
Enumerator | |
---|---|
STAP_OPERAND_PREC_NONE | |
STAP_OPERAND_PREC_LOGICAL_OR | |
STAP_OPERAND_PREC_LOGICAL_AND | |
STAP_OPERAND_PREC_ADD_CMP | |
STAP_OPERAND_PREC_BITWISE | |
STAP_OPERAND_PREC_MUL |
Definition at line 134 of file stap-probe.c.
void _initialize_stap_probe | ( | void | ) |
Definition at line 1702 of file stap-probe.c.
References _, add_cmd(), add_setshow_zuinteger_cmd(), class_info, class_maintenance, info_probes_cmdlist_get(), info_probes_stap_command(), setdebuglist, show_stapexpressiondebug(), showdebuglist, stap_expression_debug, and VEC_safe_push.
DEF_VEC_O | ( | stap_probe_arg_s | ) |
|
static |
Definition at line 1550 of file stap-probe.c.
References _, complaint(), get_stap_base_address_1(), and symfile_complaints.
Referenced by stap_get_probes().
|
static |
Definition at line 1536 of file stap-probe.c.
References STAP_BASE_SECTION_NAME.
Referenced by get_stap_base_address().
|
static |
Definition at line 1459 of file stap-probe.c.
References _, probe::address, probe::arch, stap_probe::args_parsed, stap_probe::args_u, builtin_type::builtin_data_ptr, builtin_type(), complaint(), extract_typed_address(), get_objfile_arch(), probe::name, objfile::obfd, objfile_name(), stap_probe::p, objfile::per_bfd, probe::pops, probe::provider, stap_probe::sem_addr, size, stap_probe_ops, objfile_per_bfd_storage::storage_obstack, symfile_complaints, stap_probe::text, and VEC_safe_push.
Referenced by stap_get_probes().
|
static |
Definition at line 1694 of file stap-probe.c.
References info_probes_for_ops().
Referenced by _initialize_stap_probe().
|
static |
Definition at line 169 of file stap-probe.c.
References _, and fprintf_filtered().
Referenced by _initialize_stap_probe().
Definition at line 1293 of file stap-probe.c.
References probe::arch, gdbarch_stap_is_single_operand_p(), and stap_probe::p.
|
static |
Definition at line 519 of file stap-probe.c.
References gdbarch_stap_integer_suffixes(), and stap_generic_check_suffix().
Referenced by stap_parse_single_operand().
|
static |
Definition at line 545 of file stap-probe.c.
References gdbarch_stap_register_indirection_suffixes(), and stap_generic_check_suffix().
Referenced by stap_parse_register_operand().
|
static |
Definition at line 532 of file stap-probe.c.
References gdbarch_stap_register_suffixes(), and stap_generic_check_suffix().
Referenced by stap_parse_register_operand().
|
static |
Definition at line 1431 of file stap-probe.c.
References ANOFFSET, gdb_assert, probe::pops, SECT_OFF_DATA, objfile::section_offsets, stap_probe::sem_addr, stap_modify_semaphore(), and stap_probe_ops.
|
static |
Definition at line 1326 of file stap-probe.c.
References stap_probe_arg::aexpr, stap_probe_arg::atype, expression::elts, gdb_assert, agent_expr::gdbarch, gen_expr(), probe::pops, require_rvalue(), stap_get_arg(), stap_probe_ops, and axs_value::type.
|
static |
Definition at line 1308 of file stap-probe.c.
References stap_probe_arg::aexpr, stap_probe_arg::atype, EVAL_NORMAL, evaluate_subexp_standard(), gdb_assert, get_frame_arch(), probe::pops, stap_get_arg(), and stap_probe_ops.
|
static |
Definition at line 1642 of file stap-probe.c.
References _, info_probe_column::field_name, info_probe_column::print_name, and VEC_safe_push.
|
static |
Definition at line 1653 of file stap-probe.c.
References probe::arch, gdb_assert, stap_probe::p, probe::pops, print_core_address(), stap_probe::sem_addr, stap_probe_ops, and VEC_safe_push.
|
static |
Definition at line 487 of file stap-probe.c.
Referenced by stap_check_integer_suffix(), stap_check_register_indirection_suffix(), and stap_check_register_suffix().
|
static |
Definition at line 1282 of file stap-probe.c.
References stap_probe::args_parsed, stap_probe::args_u, stap_parse_probe_arguments(), and VEC_index.
Referenced by stap_compile_to_ax(), and stap_evaluate_probe_argument().
|
static |
Definition at line 328 of file stap-probe.c.
References _, builtin_type::builtin_int16, builtin_type::builtin_int32, builtin_type::builtin_int64, builtin_type::builtin_int8, builtin_type(), builtin_type::builtin_uint16, builtin_type::builtin_uint32, builtin_type::builtin_uint64, builtin_type::builtin_uint8, gdbarch_addr_bit(), internal_error(), STAP_ARG_BITNESS_16BIT_SIGNED, STAP_ARG_BITNESS_16BIT_UNSIGNED, STAP_ARG_BITNESS_32BIT_SIGNED, STAP_ARG_BITNESS_32BIT_UNSIGNED, STAP_ARG_BITNESS_64BIT_SIGNED, STAP_ARG_BITNESS_64BIT_UNSIGNED, STAP_ARG_BITNESS_8BIT_SIGNED, STAP_ARG_BITNESS_8BIT_UNSIGNED, and STAP_ARG_BITNESS_UNDEFINED.
Referenced by stap_parse_probe_arguments().
|
static |
Definition at line 222 of file stap-probe.c.
References _, gdb_assert, and internal_error().
Referenced by stap_parse_argument_1().
|
static |
Definition at line 180 of file stap-probe.c.
References STAP_OPERAND_PREC_ADD_CMP, STAP_OPERAND_PREC_BITWISE, STAP_OPERAND_PREC_LOGICAL_AND, STAP_OPERAND_PREC_LOGICAL_OR, STAP_OPERAND_PREC_MUL, and STAP_OPERAND_PREC_NONE.
Referenced by stap_parse_argument_1().
Definition at line 1200 of file stap-probe.c.
References probe::address, ANOFFSET, SECT_OFF_DATA, and objfile::section_offsets.
|
static |
Definition at line 1210 of file stap-probe.c.
References _, stap_probe::args_parsed, stap_probe::args_u, can_evaluate_probe_arguments(), gdb_assert, get_frame_arch(), probe::pops, stap_parse_probe_arguments(), stap_probe_ops, VEC_length, and warning().
Definition at line 1574 of file stap-probe.c.
References _, complaint(), get_stap_base_address(), handle_stap_probe(), objfile::obfd, objfile::separate_debug_objfile_backlink, symfile_complaints, and VEC_length.
|
static |
Definition at line 380 of file stap-probe.c.
Referenced by stap_is_register_indirection_prefix(), and stap_is_register_prefix().
|
static |
Definition at line 439 of file stap-probe.c.
References gdbarch_stap_integer_prefixes(), and len.
Referenced by stap_parse_single_operand().
Definition at line 1249 of file stap-probe.c.
Referenced by stap_parse_argument_1().
|
static |
Definition at line 422 of file stap-probe.c.
References gdbarch_stap_register_indirection_prefixes(), and stap_is_generic_prefix().
Referenced by stap_parse_register_operand(), and stap_parse_single_operand().
|
static |
Definition at line 409 of file stap-probe.c.
References gdbarch_stap_register_prefixes(), and stap_is_generic_prefix().
Referenced by stap_parse_register_operand(), and stap_parse_single_operand().
Definition at line 1374 of file stap-probe.c.
References _, builtin_type(), builtin_type::builtin_unsigned_short, extract_unsigned_integer(), gdbarch_byte_order(), store_unsigned_integer(), target_read_memory(), target_write_memory(), TYPE_LENGTH, and warning().
Referenced by stap_clear_semaphore(), and stap_set_semaphore().
|
static |
Definition at line 1046 of file stap-probe.c.
References stap_parse_info::arg, cleanup::arg, stap_parse_info::arg_type, discard_cleanups(), parser_state::expout, free_current_contents(), gdb_assert, stap_parse_info::gdbarch, initialize_expout(), stap_parse_info::inside_paren_p, language_c, language_def(), make_cleanup(), stap_parse_info::pstate, reallocate_expout(), stap_parse_info::saved_arg, skip_spaces_const(), STAP_OPERAND_PREC_NONE, stap_parse_argument_1(), write_exp_elt_opcode(), and write_exp_elt_type().
Referenced by stap_parse_probe_arguments().
|
static |
Definition at line 926 of file stap-probe.c.
References _, stap_parse_info::arg, error(), gdb_assert, stap_parse_info::inside_paren_p, stap_parse_info::pstate, stap_parse_info::saved_arg, skip_spaces_const(), stap_get_opcode(), stap_get_operator_prec(), stap_is_operator(), stap_parse_argument_conditionally(), and write_exp_elt_opcode().
Referenced by stap_parse_argument(), and stap_parse_argument_conditionally().
|
static |
Definition at line 890 of file stap-probe.c.
References _, stap_parse_info::arg, error(), gdb_assert, stap_parse_info::gdbarch, gdbarch_stap_is_single_operand(), gdbarch_stap_is_single_operand_p(), stap_parse_info::inside_paren_p, stap_parse_info::saved_arg, skip_spaces_const(), STAP_OPERAND_PREC_NONE, stap_parse_argument_1(), and stap_parse_single_operand().
Referenced by stap_parse_argument_1(), and stap_parse_single_operand().
|
static |
Definition at line 1096 of file stap-probe.c.
References _, stap_probe_arg::aexpr, stap_probe::args_parsed, stap_probe::args_u, stap_probe_arg::atype, stap_probe_arg::bitness, dump_prefix_expression(), dump_raw_expression(), gdb_assert, gdb_stdlog, probe::name, stap_probe::p, prefixify_expression(), skip_spaces_const(), STAP_ARG_BITNESS_16BIT_SIGNED, STAP_ARG_BITNESS_16BIT_UNSIGNED, STAP_ARG_BITNESS_32BIT_SIGNED, STAP_ARG_BITNESS_32BIT_UNSIGNED, STAP_ARG_BITNESS_64BIT_SIGNED, STAP_ARG_BITNESS_64BIT_UNSIGNED, STAP_ARG_BITNESS_8BIT_SIGNED, STAP_ARG_BITNESS_8BIT_UNSIGNED, STAP_ARG_BITNESS_UNDEFINED, stap_expression_debug, stap_get_expected_argument_type(), stap_parse_argument(), stap_probe::text, VEC_safe_push, and warning().
Referenced by stap_get_arg(), and stap_get_probe_argument_count().
|
static |
Definition at line 573 of file stap-probe.c.
References _, stap_parse_info::arg, stap_parse_info::arg_type, error(), stap_parse_info::gdbarch, gdbarch_stap_gdb_register_prefix(), gdbarch_stap_gdb_register_suffix(), len, stoken::length, lookup_pointer_type(), stap_parse_info::pstate, stoken::ptr, stap_parse_info::saved_arg, stap_check_register_indirection_suffix(), stap_check_register_suffix(), stap_is_register_indirection_prefix(), stap_is_register_prefix(), user_reg_map_name_to_regnum(), write_exp_elt_longcst(), write_exp_elt_opcode(), write_exp_elt_type(), and write_exp_string().
Referenced by stap_parse_single_operand().
|
static |
Definition at line 736 of file stap-probe.c.
References _, stap_parse_info::arg, error(), stap_parse_info::gdbarch, gdbarch_stap_parse_special_token(), gdbarch_stap_parse_special_token_p(), stap_parse_info::inside_paren_p, stap_parse_info::pstate, stap_parse_info::saved_arg, skip_spaces_const(), stap_check_integer_suffix(), stap_is_integer_prefix(), stap_is_register_indirection_prefix(), stap_is_register_prefix(), stap_parse_argument_conditionally(), stap_parse_register_operand(), write_exp_elt_longcst(), write_exp_elt_opcode(), and write_exp_elt_type().
Referenced by stap_parse_argument_conditionally().
|
static |
Definition at line 1348 of file stap-probe.c.
References stap_probe_arg::aexpr, stap_probe::args_parsed, stap_probe::args_u, gdb_assert, probe::pops, stap_probe_ops, VEC_free, VEC_iterate, and xfree().
Definition at line 1634 of file stap-probe.c.
References probe_is_linespec_by_keyword().
|
static |
Definition at line 1415 of file stap-probe.c.
References ANOFFSET, gdb_assert, probe::pops, SECT_OFF_DATA, objfile::section_offsets, stap_probe::sem_addr, stap_modify_semaphore(), and stap_probe_ops.
Definition at line 1627 of file stap-probe.c.
References gdb_assert, probe::pops, and stap_probe_ops.
|
static |
Definition at line 55 of file stap-probe.c.
Referenced by _initialize_stap_probe(), and stap_parse_probe_arguments().
Definition at line 1672 of file stap-probe.c.
Referenced by handle_stap_probe(), stap_clear_semaphore(), stap_compile_to_ax(), stap_evaluate_probe_argument(), stap_gen_info_probes_table_values(), stap_get_probe_argument_count(), stap_probe_destroy(), stap_set_semaphore(), and stap_type_name().