aboutsummaryrefslogtreecommitdiff
path: root/gdb/doc
diff options
context:
space:
mode:
authorDoug Evans <xdje42@gmail.com>2015-05-16 12:14:26 -0700
committerDoug Evans <xdje42@gmail.com>2015-05-16 12:14:26 -0700
commit37442ce10aaa2f84d245631d38e25ee47e5057aa (patch)
treef3ca51f86a4e0a5a4c58b571ea9b49986cff4311 /gdb/doc
parentd976bace1c68aed43311651c1033c23b3c983094 (diff)
downloadfsf-binutils-gdb-37442ce10aaa2f84d245631d38e25ee47e5057aa.zip
fsf-binutils-gdb-37442ce10aaa2f84d245631d38e25ee47e5057aa.tar.gz
fsf-binutils-gdb-37442ce10aaa2f84d245631d38e25ee47e5057aa.tar.bz2
Add support for unbuffered and zero sized Guile ports.
gdb/ChangeLog * NEWS: Mention support for unbuffered Guile memory ports. * scm-ports.c (ioscm_memory_port): Update comments on end, size. (ioscm_lseek_address): Improve overflow calculation. (gdbscm_memory_port_fill_input): Add assert. (gdbscm_memory_port_write): Handle unbuffered ports. Handle large writes identical to Guile's fport_write. (gdbscm_memory_port_seek): Fix seeking past end check. (gdbscm_memory_port_close): Handle closing unbuffered port. (ioscm_parse_mode_bits): Recognize "0" for unbuffered ports. (ioscm_init_memory_port): Handle unbuffered ports. (ioscm_reinit_memory_port): Ditto. (ioscm_init_memory_port): Update size calculation. (gdbscm_open_memory): Support zero sized ports. gdb/testsuite/ChangeLog * gdb.guile/scm-ports.c: New file. * gdb.guile/scm-ports.exp: Add memory port tests. gdb/doc/ChangeLog * guile.texi (Memory Ports in Guile): Document support for unbuffered memory ports.
Diffstat (limited to 'gdb/doc')
-rw-r--r--gdb/doc/ChangeLog5
-rw-r--r--gdb/doc/guile.texi12
2 files changed, 12 insertions, 5 deletions
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 10bb579..f8b0487 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-16 Doug Evans <xdje42@gmail.com>
+
+ * guile.texi (Memory Ports in Guile): Document support for unbuffered
+ memory ports.
+
2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
* gdb.texinfo (Compiling and Injecting Code): Add compile print.
diff --git a/gdb/doc/guile.texi b/gdb/doc/guile.texi
index 04572fd..a0147c1 100644
--- a/gdb/doc/guile.texi
+++ b/gdb/doc/guile.texi
@@ -3525,11 +3525,13 @@ returns a port object. One can then read/write memory using that object.
@deffn {Scheme Procedure} open-memory @r{[}#:mode mode{]} @r{[}#:start address{]} @r{[}#:size size{]}
Return a port object that can be used for reading and writing memory.
The port will be open according to @var{mode}, which is the standard
-mode argument to Guile port open routines, except that it is
-restricted to one of @samp{"r"}, @samp{"w"}, or @samp{"r+"}. For
-compatibility @samp{"b"} (binary) may also be present, but we ignore
-it: memory ports are binary only. The default is @samp{"r"},
-read-only.
+mode argument to Guile port open routines, except that the @samp{"a"}
+and @samp{"l"} modes are not supported.
+@xref{File Ports,,, guile, GNU Guile Reference Manual}.
+The @samp{"b"} (binary) character may be present, but is ignored:
+memory ports are binary only. If @samp{"0"} is appended then
+the port is marked as unbuffered.
+The default is @samp{"r"}, read-only and buffered.
The chunk of memory that can be accessed can be bounded.
If both @var{start} and @var{size} are unspecified, all of memory can be