From ced63ec0871aeb4f81ec09d61e806f464d246a64 Mon Sep 17 00:00:00 2001 From: Gary Benson Date: Tue, 4 Jun 2013 13:10:53 +0000 Subject: 2013-06-04 Gary Benson * target.h (target_ops): New field "to_augmented_libraries_svr4_read". (target_augmented_libraries_svr4_read): New macro. * target.c (update_current_target): Handle to_augmented_libraries_svr4_read. * remote.c (remote_state): New field "augmented_libraries_svr4_read". (remote_augmented_libraries_svr4_read_feature): New function. (remote_protocol_features): Add entry for "augmented-libraries-svr4-read". (remote_augmented_libraries_svr4_read): New function. (init_remote_ops): Initialize remote_ops.to_augmented_libraries_svr4_read. --- gdb/remote.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'gdb/remote.c') diff --git a/gdb/remote.c b/gdb/remote.c index d8854ae..7d98bc1 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -361,6 +361,10 @@ struct remote_state /* True if the stub can collect strings using tracenz bytecode. */ int string_tracing; + /* True if the stub supports qXfer:libraries-svr4:read with a + non-empty annex. */ + int augmented_libraries_svr4_read; + /* Nonzero if the user has pressed Ctrl-C, but the target hasn't responded to that. */ int ctrlc_pending_p; @@ -3949,6 +3953,16 @@ remote_string_tracing_feature (const struct protocol_feature *feature, rs->string_tracing = (support == PACKET_ENABLE); } +static void +remote_augmented_libraries_svr4_read_feature + (const struct protocol_feature *feature, + enum packet_support support, const char *value) +{ + struct remote_state *rs = get_remote_state (); + + rs->augmented_libraries_svr4_read = (support == PACKET_ENABLE); +} + static struct protocol_feature remote_protocol_features[] = { { "PacketSize", PACKET_DISABLE, remote_packet_size, -1 }, { "qXfer:auxv:read", PACKET_DISABLE, remote_supported_packet, @@ -3959,6 +3973,8 @@ static struct protocol_feature remote_protocol_features[] = { PACKET_qXfer_libraries }, { "qXfer:libraries-svr4:read", PACKET_DISABLE, remote_supported_packet, PACKET_qXfer_libraries_svr4 }, + { "augmented-libraries-svr4-read", PACKET_DISABLE, + remote_augmented_libraries_svr4_read_feature, -1 }, { "qXfer:memory-map:read", PACKET_DISABLE, remote_supported_packet, PACKET_qXfer_memory_map }, { "qXfer:spu:read", PACKET_DISABLE, remote_supported_packet, @@ -11439,6 +11455,14 @@ remote_read_btrace (struct btrace_target_info *tinfo, return btrace; } +static int +remote_augmented_libraries_svr4_read (void) +{ + struct remote_state *rs = get_remote_state (); + + return rs->augmented_libraries_svr4_read; +} + static void init_remote_ops (void) { @@ -11561,6 +11585,8 @@ Specify the serial device it is connected to\n\ remote_ops.to_disable_btrace = remote_disable_btrace; remote_ops.to_teardown_btrace = remote_teardown_btrace; remote_ops.to_read_btrace = remote_read_btrace; + remote_ops.to_augmented_libraries_svr4_read = + remote_augmented_libraries_svr4_read; } /* Set up the extended remote vector by making a copy of the standard -- cgit v1.1