GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
btrace.h File Reference
#include "gdbsupport/btrace-common.h"
#include "target/waitstatus.h"
#include "gdbsupport/enum-flags.h"
#include <vector>

Go to the source code of this file.

Classes

struct  btrace_insn
 
struct  btrace_function
 
struct  btrace_insn_iterator
 
struct  btrace_call_iterator
 
struct  btrace_insn_history
 
struct  btrace_call_history
 
struct  btrace_maint_packet_history
 
struct  btrace_maint_info
 
struct  btrace_thread_info
 

Enumerations

enum  btrace_insn_class { BTRACE_INSN_OTHER , BTRACE_INSN_CALL , BTRACE_INSN_RETURN , BTRACE_INSN_JUMP }
 
enum  btrace_insn_flag { BTRACE_INSN_FLAG_SPECULATIVE = (1 << 0) }
 
enum  btrace_function_flag { BFUN_UP_LINKS_TO_RET = (1 << 0) , BFUN_UP_LINKS_TO_TAILCALL = (1 << 1) }
 
enum  btrace_bts_error { BDE_BTS_OVERFLOW = 1 , BDE_BTS_INSN_SIZE }
 
enum  btrace_pt_error { BDE_PT_USER_QUIT = 1 , BDE_PT_DISABLED , BDE_PT_OVERFLOW }
 
enum  btrace_thread_flag : unsigned {
  BTHR_STEP = (1 << 0) , BTHR_RSTEP = (1 << 1) , BTHR_CONT = (1 << 2) , BTHR_RCONT = (1 << 3) ,
  BTHR_MOVE = (BTHR_STEP | BTHR_RSTEP | BTHR_CONT | BTHR_RCONT) , BTHR_STOP = (1 << 4)
}
 

Functions

 DEF_ENUM_FLAGS_TYPE (enum btrace_insn_flag, btrace_insn_flags)
 
 DEF_ENUM_FLAGS_TYPE (enum btrace_function_flag, btrace_function_flags)
 
 DEF_ENUM_FLAGS_TYPE (enum btrace_thread_flag, btrace_thread_flags)
 
void btrace_enable (struct thread_info *tp, const struct btrace_config *conf)
 
const struct btrace_config * btrace_conf (const struct btrace_thread_info *)
 
void btrace_disable (struct thread_info *)
 
void btrace_teardown (struct thread_info *)
 
const char * btrace_decode_error (enum btrace_format format, int errcode)
 
void btrace_fetch (struct thread_info *, const struct btrace_cpu *cpu)
 
void btrace_clear (struct thread_info *)
 
void btrace_free_objfile (struct objfile *)
 
const struct btrace_insnbtrace_insn_get (const struct btrace_insn_iterator *)
 
int btrace_insn_get_error (const struct btrace_insn_iterator *)
 
unsigned int btrace_insn_number (const struct btrace_insn_iterator *)
 
void btrace_insn_begin (struct btrace_insn_iterator *, const struct btrace_thread_info *)
 
void btrace_insn_end (struct btrace_insn_iterator *, const struct btrace_thread_info *)
 
unsigned int btrace_insn_next (struct btrace_insn_iterator *, unsigned int stride)
 
unsigned int btrace_insn_prev (struct btrace_insn_iterator *, unsigned int stride)
 
int btrace_insn_cmp (const struct btrace_insn_iterator *lhs, const struct btrace_insn_iterator *rhs)
 
int btrace_find_insn_by_number (struct btrace_insn_iterator *, const struct btrace_thread_info *, unsigned int number)
 
const struct btrace_functionbtrace_call_get (const struct btrace_call_iterator *)
 
unsigned int btrace_call_number (const struct btrace_call_iterator *)
 
void btrace_call_begin (struct btrace_call_iterator *, const struct btrace_thread_info *)
 
void btrace_call_end (struct btrace_call_iterator *, const struct btrace_thread_info *)
 
unsigned int btrace_call_next (struct btrace_call_iterator *, unsigned int stride)
 
unsigned int btrace_call_prev (struct btrace_call_iterator *, unsigned int stride)
 
int btrace_call_cmp (const struct btrace_call_iterator *lhs, const struct btrace_call_iterator *rhs)
 
int btrace_find_call_by_number (struct btrace_call_iterator *, const struct btrace_thread_info *, unsigned int number)
 
void btrace_set_insn_history (struct btrace_thread_info *, const struct btrace_insn_iterator *begin, const struct btrace_insn_iterator *end)
 
void btrace_set_call_history (struct btrace_thread_info *, const struct btrace_call_iterator *begin, const struct btrace_call_iterator *end)
 
int btrace_is_replaying (struct thread_info *tp)
 
int btrace_is_empty (struct thread_info *tp)
 

Enumeration Type Documentation

◆ btrace_bts_error

Enumerator
BDE_BTS_OVERFLOW 
BDE_BTS_INSN_SIZE 

Definition at line 99 of file btrace.h.

◆ btrace_function_flag

Enumerator
BFUN_UP_LINKS_TO_RET 
BFUN_UP_LINKS_TO_TAILCALL 

Definition at line 85 of file btrace.h.

◆ btrace_insn_class

Enumerator
BTRACE_INSN_OTHER 
BTRACE_INSN_CALL 
BTRACE_INSN_RETURN 
BTRACE_INSN_JUMP 

Definition at line 43 of file btrace.h.

◆ btrace_insn_flag

Enumerator
BTRACE_INSN_FLAG_SPECULATIVE 

Definition at line 59 of file btrace.h.

◆ btrace_pt_error

Enumerator
BDE_PT_USER_QUIT 
BDE_PT_DISABLED 
BDE_PT_OVERFLOW 

Definition at line 109 of file btrace.h.

◆ btrace_thread_flag

enum btrace_thread_flag : unsigned
Enumerator
BTHR_STEP 
BTHR_RSTEP 
BTHR_CONT 
BTHR_RCONT 
BTHR_MOVE 
BTHR_STOP 

Definition at line 231 of file btrace.h.

Function Documentation

◆ btrace_call_begin()

void btrace_call_begin ( struct btrace_call_iterator * it,
const struct btrace_thread_info * btinfo )
extern

◆ btrace_call_cmp()

int btrace_call_cmp ( const struct btrace_call_iterator * lhs,
const struct btrace_call_iterator * rhs )
extern

Definition at line 2446 of file btrace.c.

References btrace_call_iterator::btinfo, and btrace_call_iterator::index.

Referenced by btrace_call_history().

◆ btrace_call_end()

void btrace_call_end ( struct btrace_call_iterator * it,
const struct btrace_thread_info * btinfo )
extern

◆ btrace_call_get()

const struct btrace_function * btrace_call_get ( const struct btrace_call_iterator * it)
extern

◆ btrace_call_next()

unsigned int btrace_call_next ( struct btrace_call_iterator * it,
unsigned int stride )
extern

◆ btrace_call_number()

unsigned int btrace_call_number ( const struct btrace_call_iterator * it)
extern

◆ btrace_call_prev()

unsigned int btrace_call_prev ( struct btrace_call_iterator * it,
unsigned int stride )
extern

◆ btrace_clear()

void btrace_clear ( struct thread_info * tp)
extern

◆ btrace_conf()

const struct btrace_config * btrace_conf ( const struct btrace_thread_info * btinfo)
extern

◆ btrace_decode_error()

const char * btrace_decode_error ( enum btrace_format format,
int errcode )
extern

◆ btrace_disable()

void btrace_disable ( struct thread_info * tp)
extern

◆ btrace_enable()

void btrace_enable ( struct thread_info * tp,
const struct btrace_config * conf )
extern

◆ btrace_fetch()

void btrace_fetch ( struct thread_info * tp,
const struct btrace_cpu * cpu )
extern

◆ btrace_find_call_by_number()

int btrace_find_call_by_number ( struct btrace_call_iterator * it,
const struct btrace_thread_info * btinfo,
unsigned int number )
extern

◆ btrace_find_insn_by_number()

int btrace_find_insn_by_number ( struct btrace_insn_iterator * it,
const struct btrace_thread_info * btinfo,
unsigned int number )
extern

◆ btrace_free_objfile()

void btrace_free_objfile ( struct objfile * objfile)
extern

Definition at line 2011 of file btrace.c.

References all_non_exited_threads(), btrace_clear(), and DEBUG.

Referenced by objfile::~objfile().

◆ btrace_insn_begin()

void btrace_insn_begin ( struct btrace_insn_iterator * it,
const struct btrace_thread_info * btinfo )
extern

◆ btrace_insn_cmp()

int btrace_insn_cmp ( const struct btrace_insn_iterator * lhs,
const struct btrace_insn_iterator * rhs )
extern

◆ btrace_insn_end()

void btrace_insn_end ( struct btrace_insn_iterator * it,
const struct btrace_thread_info * btinfo )
extern

◆ btrace_insn_get()

const struct btrace_insn * btrace_insn_get ( const struct btrace_insn_iterator * it)
extern

◆ btrace_insn_get_error()

int btrace_insn_get_error ( const struct btrace_insn_iterator * it)
extern

◆ btrace_insn_next()

unsigned int btrace_insn_next ( struct btrace_insn_iterator * it,
unsigned int stride )
extern

◆ btrace_insn_number()

unsigned int btrace_insn_number ( const struct btrace_insn_iterator * it)
extern

◆ btrace_insn_prev()

unsigned int btrace_insn_prev ( struct btrace_insn_iterator * it,
unsigned int stride )
extern

◆ btrace_is_empty()

int btrace_is_empty ( struct thread_info * tp)
extern

◆ btrace_is_replaying()

int btrace_is_replaying ( struct thread_info * tp)
extern

◆ btrace_set_call_history()

void btrace_set_call_history ( struct btrace_thread_info * btinfo,
const struct btrace_call_iterator * begin,
const struct btrace_call_iterator * end )
extern

◆ btrace_set_insn_history()

void btrace_set_insn_history ( struct btrace_thread_info * btinfo,
const struct btrace_insn_iterator * begin,
const struct btrace_insn_iterator * end )
extern

◆ btrace_teardown()

void btrace_teardown ( struct thread_info * tp)
extern

◆ DEF_ENUM_FLAGS_TYPE() [1/3]

DEF_ENUM_FLAGS_TYPE ( enum btrace_function_flag,
btrace_function_flags  )

◆ DEF_ENUM_FLAGS_TYPE() [2/3]

DEF_ENUM_FLAGS_TYPE ( enum btrace_insn_flag,
btrace_insn_flags  )

◆ DEF_ENUM_FLAGS_TYPE() [3/3]

DEF_ENUM_FLAGS_TYPE ( enum btrace_thread_flag,
btrace_thread_flags  )