This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[RFC v2 15/38] Add target_ops argument to to_upload_trace_state_variables
- From: Tom Tromey <tromey at redhat dot com>
- To: gdb-patches at sourceware dot org
- Cc: Tom Tromey <tromey at redhat dot com>
- Date: Thu, 6 Feb 2014 13:55:13 -0700
- Subject: [RFC v2 15/38] Add target_ops argument to to_upload_trace_state_variables
- Authentication-results: sourceware.org; auth=none
- References: <1391720136-2121-1-git-send-email-tromey at redhat dot com>
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_upload_trace_state_variables>:
Add argument.
(target_upload_trace_state_variables): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_upload_trace_state_variables): Add 'self'
argument.
(remote_start_remote): Update.
Add target_ops argument to to_get_raw_trace_data
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_get_raw_trace_data>: Add
argument.
(target_get_raw_trace_data): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_get_raw_trace_data): Add 'self' argument.
Add target_ops argument to to_get_min_fast_tracepoint_insn_len
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops)
<to_get_min_fast_tracepoint_insn_len>: Add argument.
(target_get_min_fast_tracepoint_insn_len): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_get_min_fast_tracepoint_insn_len): Add 'self'
argument.
Add target_ops argument to to_set_disconnected_tracing
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_set_disconnected_tracing>: Add
argument.
(target_set_disconnected_tracing): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_set_disconnected_tracing): Add 'self' argument.
Add target_ops argument to to_set_circular_trace_buffer
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_set_circular_trace_buffer>: Add
argument.
(target_set_circular_trace_buffer): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_set_circular_trace_buffer): Add 'self'
argument.
Add target_ops argument to to_set_trace_buffer_size
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_set_trace_buffer_size>: Add
argument.
(target_set_trace_buffer_size): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_set_trace_buffer_size): Add 'self' argument.
Add target_ops argument to to_set_trace_notes
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_set_trace_notes>: Add argument.
(target_set_trace_notes): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_set_trace_notes): Add 'self' argument.
Add target_ops argument to to_get_tib_address
2014-02-06 Tom Tromey <tromey@redhat.com>
* windows-nat.c (windows_get_tib_address): Add 'self' argument.
* target.h (struct target_ops) <to_get_tib_address>: Add argument.
(target_get_tib_address): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_get_tib_address): Add 'self' argument.
Add target_ops argument to to_set_permissions
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_set_permissions>: Add argument.
(target_set_permissions): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_set_permissions): Add 'self' argument.
(remote_start_remote): Update.
Add target_ops argument to to_static_tracepoint_marker_at
2014-02-06 Tom Tromey <tromey@redhat.com>
* target.h (struct target_ops) <to_static_tracepoint_marker_at>:
Add argument.
(target_static_tracepoint_marker_at): Add argument.
* target.c (update_current_target): Update.
* remote.c (remote_static_tracepoint_marker_at): Add 'self'
argument.
---
gdb/ChangeLog | 84 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
gdb/remote.c | 32 +++++++++++----------
gdb/target.c | 22 ++++++++-------
gdb/target.h | 46 +++++++++++++++++-------------
gdb/windows-nat.c | 3 +-
5 files changed, 142 insertions(+), 45 deletions(-)
diff --git a/gdb/remote.c b/gdb/remote.c
index b7ad654..ce9bfd4 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -201,7 +201,7 @@ static void show_remote_protocol_packet_cmd (struct ui_file *file,
static char *write_ptid (char *buf, const char *endbuf, ptid_t ptid);
static ptid_t read_ptid (char *buf, char **obuf);
-static void remote_set_permissions (void);
+static void remote_set_permissions (struct target_ops *self);
struct remote_state;
static int remote_get_trace_status (struct target_ops *self,
@@ -210,7 +210,8 @@ static int remote_get_trace_status (struct target_ops *self,
static int remote_upload_tracepoints (struct target_ops *self,
struct uploaded_tp **utpp);
-static int remote_upload_trace_state_variables (struct uploaded_tsv **utsvp);
+static int remote_upload_trace_state_variables (struct target_ops *self,
+ struct uploaded_tsv **utsvp);
static void remote_query_supported (void);
@@ -2959,7 +2960,7 @@ remote_threads_extra_info (struct target_ops *self, struct thread_info *tp)
static int
-remote_static_tracepoint_marker_at (CORE_ADDR addr,
+remote_static_tracepoint_marker_at (struct target_ops *self, CORE_ADDR addr,
struct static_tracepoint_marker *marker)
{
struct remote_state *rs = get_remote_state ();
@@ -3424,7 +3425,7 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p)
/* If the stub wants to get a QAllow, compose one and send it. */
if (remote_protocol_packets[PACKET_QAllow].support != PACKET_DISABLE)
- remote_set_permissions ();
+ remote_set_permissions (target);
/* Next, we possibly activate noack mode.
@@ -3511,7 +3512,7 @@ remote_start_remote (int from_tty, struct target_ops *target, int extended_p)
{
struct uploaded_tsv *uploaded_tsvs = NULL;
- remote_upload_trace_state_variables (&uploaded_tsvs);
+ remote_upload_trace_state_variables (target, &uploaded_tsvs);
merge_uploaded_trace_state_variables (&uploaded_tsvs);
}
@@ -3824,7 +3825,7 @@ remote_serial_open (char *name)
permissions. */
void
-remote_set_permissions (void)
+remote_set_permissions (struct target_ops *self)
{
struct remote_state *rs = get_remote_state ();
@@ -9509,7 +9510,7 @@ remote_get_thread_local_address (struct target_ops *ops,
Returns 1 if ptid is found and thread_local_base is non zero. */
static int
-remote_get_tib_address (ptid_t ptid, CORE_ADDR *addr)
+remote_get_tib_address (struct target_ops *self, ptid_t ptid, CORE_ADDR *addr)
{
if (remote_protocol_packets[PACKET_qGetTIBAddr].support != PACKET_DISABLE)
{
@@ -11157,7 +11158,8 @@ remote_save_trace_data (struct target_ops *self, const char *filename)
not be unhappy if we don't get as much as we ask for. */
static LONGEST
-remote_get_raw_trace_data (gdb_byte *buf, ULONGEST offset, LONGEST len)
+remote_get_raw_trace_data (struct target_ops *self,
+ gdb_byte *buf, ULONGEST offset, LONGEST len)
{
struct remote_state *rs = get_remote_state ();
char *reply;
@@ -11195,7 +11197,7 @@ remote_get_raw_trace_data (gdb_byte *buf, ULONGEST offset, LONGEST len)
}
static void
-remote_set_disconnected_tracing (int val)
+remote_set_disconnected_tracing (struct target_ops *self, int val)
{
struct remote_state *rs = get_remote_state ();
@@ -11226,7 +11228,7 @@ remote_core_of_thread (struct target_ops *ops, ptid_t ptid)
}
static void
-remote_set_circular_trace_buffer (int val)
+remote_set_circular_trace_buffer (struct target_ops *self, int val)
{
struct remote_state *rs = get_remote_state ();
char *reply;
@@ -11271,7 +11273,7 @@ remote_traceframe_info (void)
length is unknown. */
static int
-remote_get_min_fast_tracepoint_insn_len (void)
+remote_get_min_fast_tracepoint_insn_len (struct target_ops *self)
{
struct remote_state *rs = get_remote_state ();
char *reply;
@@ -11300,7 +11302,7 @@ remote_get_min_fast_tracepoint_insn_len (void)
}
static void
-remote_set_trace_buffer_size (LONGEST val)
+remote_set_trace_buffer_size (struct target_ops *self, LONGEST val)
{
if (remote_protocol_packets[PACKET_QTBuffer_size].support
!= PACKET_DISABLE)
@@ -11332,7 +11334,8 @@ remote_set_trace_buffer_size (LONGEST val)
}
static int
-remote_set_trace_notes (const char *user, const char *notes,
+remote_set_trace_notes (struct target_ops *self,
+ const char *user, const char *notes,
const char *stop_notes)
{
struct remote_state *rs = get_remote_state ();
@@ -11863,7 +11866,8 @@ remote_upload_tracepoints (struct target_ops *self, struct uploaded_tp **utpp)
}
static int
-remote_upload_trace_state_variables (struct uploaded_tsv **utsvp)
+remote_upload_trace_state_variables (struct target_ops *self,
+ struct uploaded_tsv **utsvp)
{
struct remote_state *rs = get_remote_state ();
char *p;
diff --git a/gdb/target.c b/gdb/target.c
index 71dff46..379c4d2 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -896,34 +896,36 @@ update_current_target (void)
(int (*) (struct target_ops *, struct uploaded_tp **))
return_zero);
de_fault (to_upload_trace_state_variables,
- (int (*) (struct uploaded_tsv **))
+ (int (*) (struct target_ops *, struct uploaded_tsv **))
return_zero);
de_fault (to_get_raw_trace_data,
- (LONGEST (*) (gdb_byte *, ULONGEST, LONGEST))
+ (LONGEST (*) (struct target_ops *, gdb_byte *, ULONGEST, LONGEST))
tcomplain);
de_fault (to_get_min_fast_tracepoint_insn_len,
- (int (*) (void))
+ (int (*) (struct target_ops *))
return_minus_one);
de_fault (to_set_disconnected_tracing,
- (void (*) (int))
+ (void (*) (struct target_ops *, int))
target_ignore);
de_fault (to_set_circular_trace_buffer,
- (void (*) (int))
+ (void (*) (struct target_ops *, int))
target_ignore);
de_fault (to_set_trace_buffer_size,
- (void (*) (LONGEST))
+ (void (*) (struct target_ops *, LONGEST))
target_ignore);
de_fault (to_set_trace_notes,
- (int (*) (const char *, const char *, const char *))
+ (int (*) (struct target_ops *,
+ const char *, const char *, const char *))
return_zero);
de_fault (to_get_tib_address,
- (int (*) (ptid_t, CORE_ADDR *))
+ (int (*) (struct target_ops *, ptid_t, CORE_ADDR *))
tcomplain);
de_fault (to_set_permissions,
- (void (*) (void))
+ (void (*) (struct target_ops *))
target_ignore);
de_fault (to_static_tracepoint_marker_at,
- (int (*) (CORE_ADDR, struct static_tracepoint_marker *))
+ (int (*) (struct target_ops *,
+ CORE_ADDR, struct static_tracepoint_marker *))
return_zero);
de_fault (to_static_tracepoint_markers_by_strid,
(VEC(static_tracepoint_marker_p) * (*) (const char *))
diff --git a/gdb/target.h b/gdb/target.h
index e53c041..56fbd96 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -803,27 +803,29 @@ struct target_ops
int (*to_upload_tracepoints) (struct target_ops *,
struct uploaded_tp **utpp);
- int (*to_upload_trace_state_variables) (struct uploaded_tsv **utsvp);
+ int (*to_upload_trace_state_variables) (struct target_ops *,
+ struct uploaded_tsv **utsvp);
- LONGEST (*to_get_raw_trace_data) (gdb_byte *buf,
+ LONGEST (*to_get_raw_trace_data) (struct target_ops *, gdb_byte *buf,
ULONGEST offset, LONGEST len);
/* Get the minimum length of instruction on which a fast tracepoint
may be set on the target. If this operation is unsupported,
return -1. If for some reason the minimum length cannot be
determined, return 0. */
- int (*to_get_min_fast_tracepoint_insn_len) (void);
+ int (*to_get_min_fast_tracepoint_insn_len) (struct target_ops *);
/* Set the target's tracing behavior in response to unexpected
disconnection - set VAL to 1 to keep tracing, 0 to stop. */
- void (*to_set_disconnected_tracing) (int val);
- void (*to_set_circular_trace_buffer) (int val);
+ void (*to_set_disconnected_tracing) (struct target_ops *, int val);
+ void (*to_set_circular_trace_buffer) (struct target_ops *, int val);
/* Set the size of trace buffer in the target. */
- void (*to_set_trace_buffer_size) (LONGEST val);
+ void (*to_set_trace_buffer_size) (struct target_ops *, LONGEST val);
/* Add/change textual notes about the trace run, returning 1 if
successful, 0 otherwise. */
- int (*to_set_trace_notes) (const char *user, const char *notes,
+ int (*to_set_trace_notes) (struct target_ops *,
+ const char *user, const char *notes,
const char *stopnotes);
/* Return the processor core that thread PTID was last seen on.
@@ -844,14 +846,15 @@ struct target_ops
/* Return the address of the start of the Thread Information Block
a Windows OS specific feature. */
- int (*to_get_tib_address) (ptid_t ptid, CORE_ADDR *addr);
+ int (*to_get_tib_address) (struct target_ops *,
+ ptid_t ptid, CORE_ADDR *addr);
/* Send the new settings of write permission variables. */
- void (*to_set_permissions) (void);
+ void (*to_set_permissions) (struct target_ops *);
/* Look for a static tracepoint marker at ADDR, and fill in MARKER
with its details. Return 1 on success, 0 on failure. */
- int (*to_static_tracepoint_marker_at) (CORE_ADDR,
+ int (*to_static_tracepoint_marker_at) (struct target_ops *, CORE_ADDR,
struct static_tracepoint_marker *marker);
/* Return a vector of all tracepoints markers string id ID, or all
@@ -1823,34 +1826,37 @@ extern char *target_fileio_read_stralloc (const char *filename);
(*current_target.to_upload_tracepoints) (¤t_target, utpp)
#define target_upload_trace_state_variables(utsvp) \
- (*current_target.to_upload_trace_state_variables) (utsvp)
+ (*current_target.to_upload_trace_state_variables) (¤t_target, utsvp)
#define target_get_raw_trace_data(buf,offset,len) \
- (*current_target.to_get_raw_trace_data) ((buf), (offset), (len))
+ (*current_target.to_get_raw_trace_data) (¤t_target, \
+ (buf), (offset), (len))
#define target_get_min_fast_tracepoint_insn_len() \
- (*current_target.to_get_min_fast_tracepoint_insn_len) ()
+ (*current_target.to_get_min_fast_tracepoint_insn_len) (¤t_target)
#define target_set_disconnected_tracing(val) \
- (*current_target.to_set_disconnected_tracing) (val)
+ (*current_target.to_set_disconnected_tracing) (¤t_target, val)
#define target_set_circular_trace_buffer(val) \
- (*current_target.to_set_circular_trace_buffer) (val)
+ (*current_target.to_set_circular_trace_buffer) (¤t_target, val)
#define target_set_trace_buffer_size(val) \
- (*current_target.to_set_trace_buffer_size) (val)
+ (*current_target.to_set_trace_buffer_size) (¤t_target, val)
#define target_set_trace_notes(user,notes,stopnotes) \
- (*current_target.to_set_trace_notes) ((user), (notes), (stopnotes))
+ (*current_target.to_set_trace_notes) (¤t_target, \
+ (user), (notes), (stopnotes))
#define target_get_tib_address(ptid, addr) \
- (*current_target.to_get_tib_address) ((ptid), (addr))
+ (*current_target.to_get_tib_address) (¤t_target, (ptid), (addr))
#define target_set_permissions() \
- (*current_target.to_set_permissions) ()
+ (*current_target.to_set_permissions) (¤t_target)
#define target_static_tracepoint_marker_at(addr, marker) \
- (*current_target.to_static_tracepoint_marker_at) (addr, marker)
+ (*current_target.to_static_tracepoint_marker_at) (¤t_target, \
+ addr, marker)
#define target_static_tracepoint_markers_by_strid(marker_id) \
(*current_target.to_static_tracepoint_markers_by_strid) (marker_id)
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 0af13df..c417861 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -2565,7 +2565,8 @@ windows_xfer_partial (struct target_ops *ops, enum target_object object,
Returns 1 if ptid is found and sets *ADDR to thread_local_base. */
static int
-windows_get_tib_address (ptid_t ptid, CORE_ADDR *addr)
+windows_get_tib_address (struct target_ops *self,
+ ptid_t ptid, CORE_ADDR *addr)
{
thread_info *th;
--
1.8.1.4