diff options
author | Doug Evans <xdje42@gmail.com> | 2015-05-16 12:14:26 -0700 |
---|---|---|
committer | Doug Evans <xdje42@gmail.com> | 2015-05-16 12:14:26 -0700 |
commit | 37442ce10aaa2f84d245631d38e25ee47e5057aa (patch) | |
tree | f3ca51f86a4e0a5a4c58b571ea9b49986cff4311 /gdb/doc | |
parent | d976bace1c68aed43311651c1033c23b3c983094 (diff) | |
download | gdb-37442ce10aaa2f84d245631d38e25ee47e5057aa.zip gdb-37442ce10aaa2f84d245631d38e25ee47e5057aa.tar.gz 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/ChangeLog | 5 | ||||
-rw-r--r-- | gdb/doc/guile.texi | 12 |
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 |