|
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 |
| class | stap_static_probe_ops |
| class | stap_probe |
Macros | |
| #define | STAP_BASE_SECTION_NAME ".stapsdt.base" |
Functions | |
| static void | stap_parse_argument_1 (struct stap_parse_info *p, int has_lhs, enum stap_operand_prec prec) |
| static void | stap_parse_argument_conditionally (struct stap_parse_info *p) |
| static int | stap_is_operator (const char *op) |
| static void | show_stapexpressiondebug (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) |
| static enum stap_operand_prec | stap_get_operator_prec (enum exp_opcode op) |
| static enum exp_opcode | stap_get_opcode (const char **s) |
| static struct type * | stap_get_expected_argument_type (struct gdbarch *gdbarch, enum stap_arg_bitness b, const char *probe_name) |
| static int | stap_is_generic_prefix (struct gdbarch *gdbarch, const char *s, const char **r, const char *const *prefixes) |
| static int | stap_is_register_prefix (struct gdbarch *gdbarch, const char *s, const char **r) |
| static int | stap_is_register_indirection_prefix (struct gdbarch *gdbarch, const char *s, const char **r) |
| static int | stap_is_integer_prefix (struct gdbarch *gdbarch, const char *s, const char **r) |
| static int | stap_generic_check_suffix (struct gdbarch *gdbarch, const char *s, const char **r, const char *const *suffixes) |
| static int | stap_check_integer_suffix (struct gdbarch *gdbarch, const char *s, const char **r) |
| static int | stap_check_register_suffix (struct gdbarch *gdbarch, const char *s, const char **r) |
| static int | stap_check_register_indirection_suffix (struct gdbarch *gdbarch, const char *s, const char **r) |
| static void | stap_parse_register_operand (struct stap_parse_info *p) |
| static void | stap_parse_single_operand (struct stap_parse_info *p) |
| static expression_up | stap_parse_argument (const char **arg, struct type *atype, struct gdbarch *gdbarch) |
| static CORE_ADDR | relocate_address (CORE_ADDR address, struct objfile *objfile) |
| static void | stap_modify_semaphore (CORE_ADDR address, int set, struct gdbarch *gdbarch) |
| static void | handle_stap_probe (struct objfile *objfile, struct sdt_note *el, std::vector< probe *> *probesp, CORE_ADDR base) |
| static void | get_stap_base_address_1 (bfd *abfd, asection *sect, void *obj) |
| static int | get_stap_base_address (bfd *obfd, bfd_vma *base) |
| static void | info_probes_stap_command (const char *arg, int from_tty) |
| void | _initialize_stap_probe (void) |
Variables | |
| static unsigned int | stap_expression_debug = 0 |
| const stap_static_probe_ops | stap_static_probe_ops |
| #define STAP_BASE_SECTION_NAME ".stapsdt.base" |
Definition at line 46 of file stap-probe.c.
Referenced by get_stap_base_address_1().
| enum stap_arg_bitness |
Definition at line 67 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 235 of file stap-probe.c.
| void _initialize_stap_probe | ( | void | ) |
Definition at line 1699 of file stap-probe.c.
References _, add_cmd(), add_setshow_zuinteger_cmd(), all_static_probe_ops, class_info, class_maintenance, info_probes_cmdlist_get(), info_probes_stap_command(), setdebuglist, show_stapexpressiondebug(), showdebuglist, and stap_expression_debug.
|
static |
Definition at line 1585 of file stap-probe.c.
References _, complaint, get_stap_base_address_1(), and symfile_complaints.
Referenced by stap_static_probe_ops::get_probes().
|
static |
Definition at line 1571 of file stap-probe.c.
References STAP_BASE_SECTION_NAME.
Referenced by get_stap_base_address().
|
static |
Definition at line 1499 of file stap-probe.c.
References _, builtin_type::builtin_data_ptr, builtin_type(), complaint, extract_typed_address(), get_objfile_arch(), name, objfile::obfd, objfile_name(), size, string, and symfile_complaints.
Referenced by stap_static_probe_ops::get_probes().
|
static |
Definition at line 1693 of file stap-probe.c.
References info_probes_for_spops().
Referenced by _initialize_stap_probe().
Definition at line 1270 of file stap-probe.c.
References ANOFFSET, SECT_OFF_DATA, and objfile::section_offsets.
Referenced by stap_probe::clear_semaphore(), stap_probe::get_relocated_address(), and stap_probe::set_semaphore().
|
static |
Definition at line 270 of file stap-probe.c.
References _, and fprintf_filtered().
Referenced by _initialize_stap_probe().
|
static |
Definition at line 619 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 645 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 632 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 587 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 428 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, error(), gdbarch_addr_bit(), 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_probe::parse_arguments().
|
static |
Definition at line 323 of file stap-probe.c.
References _, error(), and gdb_assert.
Referenced by stap_parse_argument_1().
|
static |
Definition at line 281 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().
|
static |
Definition at line 480 of file stap-probe.c.
Referenced by stap_is_register_indirection_prefix(), and stap_is_register_prefix().
|
static |
Definition at line 539 of file stap-probe.c.
References gdbarch_stap_integer_prefixes().
Referenced by stap_parse_single_operand().
|
static |
Definition at line 1322 of file stap-probe.c.
Referenced by stap_parse_argument_1().
|
static |
Definition at line 522 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 509 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 1408 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_probe::clear_semaphore(), and stap_probe::set_semaphore().
|
static |
Definition at line 1146 of file stap-probe.c.
References stap_parse_info::arg, gdb_assert, stap_parse_info::gdbarch, stap_parse_info::inside_paren_p, language_c, language_def(), stap_parse_info::pstate, parser_state::release(), skip_spaces(), STAP_OPERAND_PREC_NONE, stap_parse_argument_1(), write_exp_elt_opcode(), and write_exp_elt_type().
Referenced by stap_probe::parse_arguments().
|
static |
Definition at line 1026 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(), 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 990 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(), 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 673 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(), 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 836 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(), 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 51 of file stap-probe.c.
Referenced by _initialize_stap_probe(), and stap_probe::parse_arguments().
Definition at line 122 of file stap-probe.c.
Referenced by stap_probe::get_static_ops().
1.8.14