summaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog15
-rw-r--r--gdb/doc/ChangeLog4
-rw-r--r--gdb/doc/gdb.texinfo17
-rw-r--r--gdb/remote.c11
-rw-r--r--gdb/target.h4
5 files changed, 47 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 33f822bdb56..f3e90134bc7 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,8 +1,17 @@
2012-03-05 Tristan Gingold <gingold@adacore.com>
- * osabi.c (gdb_osabi_names): Add OpenVMS.
- (generic_elf_osabi_sniffer): Likewise.
- * defs.h (gdb_osabi): Add GDB_OSABI_OPENVMS.
+ * target.h (target_object): Add TARGET_OBJECT_OPENVMS_UIB.
+ * remote.c (PACKET_qXfer_uib): New enum value.
+ (remote_protocol_features): Add entry for PACKET_qXfer_uib.
+ (remote_xfer_partial): Handle TARGET_OBJECT_OPENVMS_UIB.
+ (_initialize_remote): Call add_packet_config_cmd for
+ xfer:uib packet.
+
+2012-03-05 Tristan Gingold <gingold@adacore.com>
+
+ * osabi.c (gdb_osabi_names): Add OpenVMS.
+ (generic_elf_osabi_sniffer): Likewise.
+ * defs.h (gdb_osabi): Add GDB_OSABI_OPENVMS.
2012-03-04 Jan Kratochvil <jan.kratochvil@redhat.com>
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index f3e483fcab7..3c7357afc54 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,7 @@
+2012-03-05 Tristan Gingold <gingold@adacore.com>
+
+ * gdb.texinfo (General Query Packets): Document xfer:uib:read.
+
2012-03-03 Yao Qi <yao@codesourcery.com>
* gdb.texinfo (In-Process Agent): New node.
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 62c92e91162..945b68d3dde 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -35220,6 +35220,11 @@ These are the currently defined stub features and their properties:
@tab @samp{-}
@tab Yes
+@item @samp{qXfer:uib:read}
+@tab No
+@tab @samp{-}
+@tab Yes
+
@item @samp{qXfer:fdpic:read}
@tab No
@tab @samp{-}
@@ -35359,6 +35364,10 @@ The remote stub understands the @samp{qXfer:threads:read} packet
The remote stub understands the @samp{qXfer:traceframe-info:read}
packet (@pxref{qXfer traceframe info read}).
+@item qXfer:uib:read
+The remote stub understands the @samp{qXfer:uib:read}
+packet (@pxref{qXfer unwind info block}).
+
@item qXfer:fdpic:read
The remote stub understands the @samp{qXfer:fdpic:read}
packet (@pxref{qXfer fdpic loadmap read}).
@@ -35654,6 +35663,14 @@ Return a description of the current traceframe's contents.
This packet is not probed by default; the remote stub must request it,
by supplying an appropriate @samp{qSupported} response (@pxref{qSupported}).
+@item qXfer:uib:read:@var{pc}:@var{offset},@var{length}
+@anchor{qXfer unwind info block}
+
+Return the unwind information block for @var{pc}. This packet is used
+on OpenVMS/ia64 to ask the kernel unwind information.
+
+This packet is not probed by default.
+
@item qXfer:fdpic:read:@var{annex}:@var{offset},@var{length}
@anchor{qXfer fdpic loadmap read}
Read contents of @code{loadmap}s on the target system. The
diff --git a/gdb/remote.c b/gdb/remote.c
index 61bb2bb3cf1..45fec177cb4 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -1254,6 +1254,7 @@ enum {
PACKET_qXfer_threads,
PACKET_qXfer_statictrace_read,
PACKET_qXfer_traceframe_info,
+ PACKET_qXfer_uib,
PACKET_qGetTIBAddr,
PACKET_qGetTLSAddr,
PACKET_qSupported,
@@ -3834,6 +3835,8 @@ static struct protocol_feature remote_protocol_features[] = {
remote_enable_disable_tracepoint_feature, -1 },
{ "qXfer:fdpic:read", PACKET_DISABLE, remote_supported_packet,
PACKET_qXfer_fdpic },
+ { "qXfer:uib:read", PACKET_DISABLE, remote_supported_packet,
+ PACKET_qXfer_uib },
{ "QDisableRandomization", PACKET_DISABLE, remote_supported_packet,
PACKET_QDisableRandomization },
{ "QAgent", PACKET_DISABLE, remote_supported_packet, PACKET_QAgent},
@@ -8484,6 +8487,11 @@ remote_xfer_partial (struct target_ops *ops, enum target_object object,
case TARGET_OBJECT_FDPIC:
return remote_read_qxfer (ops, "fdpic", annex, readbuf, offset, len,
&remote_protocol_packets[PACKET_qXfer_fdpic]);
+
+ case TARGET_OBJECT_OPENVMS_UIB:
+ return remote_read_qxfer (ops, "uib", annex, readbuf, offset, len,
+ &remote_protocol_packets[PACKET_qXfer_uib]);
+
default:
return -1;
}
@@ -11316,6 +11324,9 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
(&remote_protocol_packets[PACKET_qXfer_traceframe_info],
"qXfer:trace-frame-info:read", "traceframe-info", 0);
+ add_packet_config_cmd (&remote_protocol_packets[PACKET_qXfer_uib],
+ "qXfer:uib:read", "unwind-info-block", 0);
+
add_packet_config_cmd (&remote_protocol_packets[PACKET_qGetTLSAddr],
"qGetTLSAddr", "get-thread-local-storage-address",
0);
diff --git a/gdb/target.h b/gdb/target.h
index 850cb388102..ed2bcdd81a7 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -280,7 +280,9 @@ enum target_object
/* Load maps for FDPIC systems. */
TARGET_OBJECT_FDPIC,
/* Darwin dynamic linker info data. */
- TARGET_OBJECT_DARWIN_DYLD_INFO
+ TARGET_OBJECT_DARWIN_DYLD_INFO,
+ /* OpenVMS Unwind Information Block. */
+ TARGET_OBJECT_OPENVMS_UIB
/* Possible future objects: TARGET_OBJECT_FILE, ... */
};