gdb/common/agent.h - gdb

Data types defined

Macros defined

Source code

  1. /* Shared utility routines for GDB to interact with agent.

  2.    Copyright (C) 2009-2015 Free Software Foundation, Inc.

  3.    This file is part of GDB.

  4.    This program is free software; you can redistribute it and/or modify
  5.    it under the terms of the GNU General Public License as published by
  6.    the Free Software Foundation; either version 3 of the License, or
  7.    (at your option) any later version.

  8.    This program is distributed in the hope that it will be useful,
  9.    but WITHOUT ANY WARRANTY; without even the implied warranty of
  10.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  11.    GNU General Public License for more details.

  12.    You should have received a copy of the GNU General Public License
  13.    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */

  14. int agent_run_command (int pid, const char *cmd, int len);

  15. int agent_look_up_symbols (void *);

  16. #define STRINGIZE_1(STR) #STR
  17. #define STRINGIZE(STR) STRINGIZE_1(STR)
  18. #define IPA_SYM(SYM)                                   \
  19.   {                                                    \
  20.     STRINGIZE (gdb_agent_ ## SYM),                        \
  21.     offsetof (struct ipa_sym_addresses, addr_ ## SYM)        \
  22.   }

  23. /* The size in bytes of the buffer used to talk to the IPA helper
  24.    thread.  */
  25. #define IPA_CMD_BUF_SIZE 1024

  26. int agent_loaded_p (void);

  27. extern int debug_agent;

  28. extern int use_agent;

  29. /* Capability of agent.  Different agents may have different capabilities,
  30.    such as installing fast tracepoint or evaluating breakpoint conditions.
  31.    Capabilities are represented by bit-maps, and each capability occupies one
  32.    bit.  */

  33. enum agent_capa
  34. {
  35.   /* Capability to install fast tracepoint.  */
  36.   AGENT_CAPA_FAST_TRACE = 0x1,
  37.   /* Capability to install static tracepoint.  */
  38.   AGENT_CAPA_STATIC_TRACE = (0x1 << 1),
  39. };

  40. int agent_capability_check (enum agent_capa);

  41. void agent_capability_invalidate (void);