GDB (xrefs)
|
#include "defs.h"
#include "tracectf.h"
#include "tracepoint.h"
#include "regcache.h"
#include <sys/stat.h>
#include "exec.h"
#include "completer.h"
#include "inferior.h"
#include "gdbthread.h"
#include "tracefile.h"
#include <ctype.h>
#include <algorithm>
#include "gdbsupport/filestuff.h"
#include "gdbarch.h"
Go to the source code of this file.
Classes | |
struct | trace_write_handler |
struct | ctf_trace_file_writer |
Macros | |
#define | CTF_MAGIC 0xC1FC1FC1 |
#define | CTF_SAVE_MAJOR 1 |
#define | CTF_SAVE_MINOR 8 |
#define | CTF_METADATA_NAME "metadata" |
#define | CTF_DATASTREAM_NAME "datastream" |
#define | CTF_EVENT_ID_REGISTER 0 |
#define | CTF_EVENT_ID_TSV 1 |
#define | CTF_EVENT_ID_MEMORY 2 |
#define | CTF_EVENT_ID_FRAME 3 |
#define | CTF_EVENT_ID_STATUS 4 |
#define | CTF_EVENT_ID_TSV_DEF 5 |
#define | CTF_EVENT_ID_TP_DEF 6 |
#define | CTF_PID (2) |
#define | ctf_save_write_uint32(HANDLER, U32) ctf_save_write (HANDLER, (gdb_byte *) &U32, 4) |
#define | ctf_save_write_int32(HANDLER, INT32) ctf_save_write ((HANDLER), (gdb_byte *) &(INT32), 4) |
#define | HOST_ENDIANNESS "le" |
Functions | |
static void | ctf_save_write_metadata (struct trace_write_handler *handler, const char *format,...) ATTRIBUTE_PRINTF(2 |
static int | ctf_save_write (struct trace_write_handler *handler, const gdb_byte *buf, size_t size) |
static int | ctf_save_fseek (struct trace_write_handler *handler, long offset, int whence) |
static int | ctf_save_align_write (struct trace_write_handler *handler, const gdb_byte *buf, size_t size, size_t align_size) |
static void | ctf_save_next_packet (struct trace_write_handler *handler) |
static void | ctf_save_metadata_header (struct trace_write_handler *handler) |
static void | ctf_dtor (struct trace_file_writer *self) |
static int | ctf_target_save (struct trace_file_writer *self, const char *dirname) |
static void | ctf_start (struct trace_file_writer *self, const char *dirname) |
static void | ctf_write_header (struct trace_file_writer *self) |
static void | ctf_write_regblock_type (struct trace_file_writer *self, int size) |
static void | ctf_write_status (struct trace_file_writer *self, struct trace_status *ts) |
static void | ctf_write_uploaded_tsv (struct trace_file_writer *self, struct uploaded_tsv *tsv) |
static void | ctf_write_uploaded_tp (struct trace_file_writer *self, struct uploaded_tp *tp) |
static void | ctf_write_tdesc (struct trace_file_writer *self) |
static void | ctf_write_definition_end (struct trace_file_writer *self) |
static void | ctf_end (struct trace_file_writer *self) |
static void | ctf_write_frame_start (struct trace_file_writer *self, uint16_t tpnum) |
static void | ctf_write_frame_r_block (struct trace_file_writer *self, gdb_byte *buf, int32_t size) |
static void | ctf_write_frame_m_block_header (struct trace_file_writer *self, uint64_t addr, uint16_t length) |
static void | ctf_write_frame_m_block_memory (struct trace_file_writer *self, gdb_byte *buf, uint16_t length) |
static void | ctf_write_frame_v_block (struct trace_file_writer *self, int32_t num, uint64_t val) |
static void | ctf_write_frame_end (struct trace_file_writer *self) |
struct trace_file_writer * | ctf_trace_file_writer_new (void) |
void | _initialize_ctf () |
Variables | |
static const struct trace_frame_write_ops | ctf_write_frame_ops |
static const struct trace_file_write_ops | ctf_write_ops |
#define CTF_DATASTREAM_NAME "datastream" |
Definition at line 72 of file tracectf.c.
Referenced by ctf_start().
#define CTF_EVENT_ID_FRAME 3 |
Definition at line 79 of file tracectf.c.
Referenced by ctf_write_frame_start(), and ctf_write_header().
#define CTF_EVENT_ID_MEMORY 2 |
Definition at line 78 of file tracectf.c.
Referenced by ctf_write_frame_m_block_header(), and ctf_write_header().
#define CTF_EVENT_ID_REGISTER 0 |
Definition at line 76 of file tracectf.c.
Referenced by ctf_write_frame_r_block(), and ctf_write_regblock_type().
#define CTF_EVENT_ID_STATUS 4 |
Definition at line 80 of file tracectf.c.
Referenced by ctf_write_status().
#define CTF_EVENT_ID_TP_DEF 6 |
Definition at line 82 of file tracectf.c.
Referenced by ctf_write_header(), and ctf_write_uploaded_tp().
#define CTF_EVENT_ID_TSV 1 |
Definition at line 77 of file tracectf.c.
Referenced by ctf_write_frame_v_block(), and ctf_write_header().
#define CTF_EVENT_ID_TSV_DEF 5 |
Definition at line 81 of file tracectf.c.
Referenced by ctf_write_header(), and ctf_write_uploaded_tsv().
#define CTF_MAGIC 0xC1FC1FC1 |
Definition at line 67 of file tracectf.c.
Referenced by ctf_write_frame_start().
#define CTF_METADATA_NAME "metadata" |
Definition at line 71 of file tracectf.c.
Referenced by ctf_start().
#define CTF_PID (2) |
Definition at line 84 of file tracectf.c.
#define CTF_SAVE_MAJOR 1 |
Definition at line 68 of file tracectf.c.
Referenced by ctf_save_metadata_header().
#define CTF_SAVE_MINOR 8 |
Definition at line 69 of file tracectf.c.
Referenced by ctf_save_metadata_header().
#define ctf_save_write_int32 | ( | HANDLER, | |
INT32 ) ctf_save_write ((HANDLER), (gdb_byte *) &(INT32), 4) |
Definition at line 147 of file tracectf.c.
Referenced by ctf_write_status(), ctf_write_uploaded_tp(), and ctf_write_uploaded_tsv().
#define ctf_save_write_uint32 | ( | HANDLER, | |
U32 ) ctf_save_write (HANDLER, (gdb_byte *) &U32, 4) |
Definition at line 141 of file tracectf.c.
Referenced by ctf_write_frame_end(), and ctf_write_frame_start().
#define HOST_ENDIANNESS "le" |
void _initialize_ctf | ( | ) |
Definition at line 1722 of file tracectf.c.
Referenced by initialize_all_files().
|
static |
Definition at line 285 of file tracectf.c.
References trace_write_handler::datastream_fd, trace_write_handler::metadata_fd, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 631 of file tracectf.c.
References trace_write_handler::content_size, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 175 of file tracectf.c.
References trace_write_handler::content_size, ctf_save_fseek(), ctf_save_write(), SEEK_CUR, and size.
Referenced by ctf_write_frame_m_block_header(), ctf_write_frame_m_block_memory(), ctf_write_frame_r_block(), ctf_write_frame_start(), ctf_write_frame_v_block(), ctf_write_status(), ctf_write_uploaded_tp(), and ctf_write_uploaded_tsv().
|
static |
Definition at line 154 of file tracectf.c.
References trace_write_handler::content_size, trace_write_handler::datastream_fd, trace_write_handler::packet_start, SEEK_CUR, and SEEK_SET.
Referenced by ctf_save_align_write(), ctf_save_next_packet(), ctf_write_frame_end(), and ctf_write_frame_start().
|
static |
Definition at line 205 of file tracectf.c.
References CTF_SAVE_MAJOR, CTF_SAVE_MINOR, ctf_save_write_metadata(), and HOST_ENDIANNESS.
Referenced by ctf_start().
|
static |
Definition at line 195 of file tracectf.c.
References trace_write_handler::content_size, ctf_save_fseek(), trace_write_handler::packet_start, and SEEK_SET.
Referenced by ctf_write_frame_end().
|
static |
Definition at line 126 of file tracectf.c.
References trace_write_handler::content_size, trace_write_handler::datastream_fd, and size.
Referenced by ctf_save_align_write(), ctf_write_frame_start(), ctf_write_uploaded_tp(), and ctf_write_uploaded_tsv().
|
static |
Definition at line 110 of file tracectf.c.
References trace_write_handler::metadata_fd.
Referenced by ctf_save_metadata_header(), ctf_write_header(), ctf_write_regblock_type(), and ctf_write_status().
|
static |
Definition at line 314 of file tracectf.c.
References CTF_DATASTREAM_NAME, CTF_METADATA_NAME, ctf_save_metadata_header(), trace_write_handler::datastream_fd, trace_write_handler::metadata_fd, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 302 of file tracectf.c.
struct trace_file_writer * ctf_trace_file_writer_new | ( | void | ) |
Definition at line 808 of file tracectf.c.
References ctf_trace_file_writer::base, ctf_write_ops, and trace_file_writer::ops.
Referenced by trace_save_ctf().
|
static |
Definition at line 622 of file tracectf.c.
References trace_frame_write_ops::end, trace_file_write_ops::frame_ops, and trace_file_writer::ops.
|
static |
Definition at line 742 of file tracectf.c.
References trace_write_handler::content_size, ctf_save_fseek(), ctf_save_next_packet(), ctf_save_write_uint32, trace_write_handler::packet_start, SEEK_SET, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 687 of file tracectf.c.
References CTF_EVENT_ID_MEMORY, ctf_save_align_write(), and ctf_trace_file_writer::tcs.
|
static |
Definition at line 708 of file tracectf.c.
References ctf_save_align_write(), and ctf_trace_file_writer::tcs.
|
static |
Definition at line 669 of file tracectf.c.
References CTF_EVENT_ID_REGISTER, ctf_save_align_write(), size, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 642 of file tracectf.c.
References CTF_EVENT_ID_FRAME, CTF_MAGIC, ctf_save_align_write(), ctf_save_fseek(), ctf_save_write(), ctf_save_write_uint32, SEEK_CUR, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 722 of file tracectf.c.
References CTF_EVENT_ID_TSV, ctf_save_align_write(), and ctf_trace_file_writer::tcs.
|
static |
Definition at line 350 of file tracectf.c.
References trace_write_handler::content_size, CTF_EVENT_ID_FRAME, CTF_EVENT_ID_MEMORY, CTF_EVENT_ID_TP_DEF, CTF_EVENT_ID_TSV, CTF_EVENT_ID_TSV_DEF, ctf_save_write_metadata(), trace_file_write_ops::frame_ops, trace_file_writer::ops, trace_write_handler::packet_start, trace_frame_write_ops::start, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 433 of file tracectf.c.
References CTF_EVENT_ID_REGISTER, ctf_save_write_metadata(), size, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 453 of file tracectf.c.
References trace_status::buffer_free, trace_status::buffer_size, trace_status::circular_buffer, CTF_EVENT_ID_STATUS, ctf_save_align_write(), ctf_save_write_int32, ctf_save_write_metadata(), trace_status::disconnected_tracing, trace_status::stop_reason, trace_status::stopping_tracepoint, ctf_trace_file_writer::tcs, trace_status::traceframe_count, and trace_status::traceframes_created.
|
static |
Definition at line 613 of file tracectf.c.
|
static |
Definition at line 528 of file tracectf.c.
References uploaded_tp::actions, uploaded_tp::addr, uploaded_tp::at_string, uploaded_tp::cmd_strings, uploaded_tp::cond, uploaded_tp::cond_string, CTF_EVENT_ID_TP_DEF, ctf_save_align_write(), ctf_save_write(), ctf_save_write_int32, uploaded_tp::enabled, uploaded_tp::hit_count, uploaded_tp::number, uploaded_tp::pass, uploaded_tp::step, uploaded_tp::step_actions, ctf_trace_file_writer::tcs, uploaded_tp::traceframe_usage, and uploaded_tp::type.
|
static |
Definition at line 494 of file tracectf.c.
References uploaded_tsv::builtin, CTF_EVENT_ID_TSV_DEF, ctf_save_align_write(), ctf_save_write(), ctf_save_write_int32, uploaded_tsv::initial_value, uploaded_tsv::name, uploaded_tsv::number, and ctf_trace_file_writer::tcs.
|
static |
Definition at line 776 of file tracectf.c.
|
static |
Definition at line 788 of file tracectf.c.
Referenced by ctf_trace_file_writer_new().