GDB (API)
|
00001 /* Shared utility routines for GDB to interact with agent. 00002 00003 Copyright (C) 2009-2013 Free Software Foundation, Inc. 00004 00005 This file is part of GDB. 00006 00007 This program is free software; you can redistribute it and/or modify 00008 it under the terms of the GNU General Public License as published by 00009 the Free Software Foundation; either version 3 of the License, or 00010 (at your option) any later version. 00011 00012 This program is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00015 GNU General Public License for more details. 00016 00017 You should have received a copy of the GNU General Public License 00018 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00019 00020 int agent_run_command (int pid, const char *cmd, int len); 00021 00022 int agent_look_up_symbols (void *); 00023 00024 #define STRINGIZE_1(STR) #STR 00025 #define STRINGIZE(STR) STRINGIZE_1(STR) 00026 #define IPA_SYM(SYM) \ 00027 { \ 00028 STRINGIZE (gdb_agent_ ## SYM), \ 00029 offsetof (struct ipa_sym_addresses, addr_ ## SYM) \ 00030 } 00031 00032 /* The size in bytes of the buffer used to talk to the IPA helper 00033 thread. */ 00034 #define IPA_CMD_BUF_SIZE 1024 00035 00036 int agent_loaded_p (void); 00037 00038 extern int debug_agent; 00039 00040 extern int use_agent; 00041 00042 /* Capability of agent. Different agents may have different capabilities, 00043 such as installing fast tracepoint or evaluating breakpoint conditions. 00044 Capabilities are represented by bit-maps, and each capability occupies one 00045 bit. */ 00046 00047 enum agent_capa 00048 { 00049 /* Capability to install fast tracepoint. */ 00050 AGENT_CAPA_FAST_TRACE = 0x1, 00051 /* Capability to install static tracepoint. */ 00052 AGENT_CAPA_STATIC_TRACE = (0x1 << 1), 00053 }; 00054 00055 int agent_capability_check (enum agent_capa); 00056 00057 void agent_capability_invalidate (void);