public inbox for gdb-patches@sourceware.org
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@ericsson.com>
To: Pedro Alves <palves@redhat.com>, <gdb-patches@sourceware.org>
Subject: Re: [PATCH v2 2/7] Cleanup some docs about memory write
Date: Fri, 12 Jun 2015 19:17:00 -0000	[thread overview]
Message-ID: <557B3043.1040302@ericsson.com> (raw)
In-Reply-To: <555E19B1.3010504@redhat.com>

On 15-05-21 01:45 PM, Pedro Alves wrote:
> On 04/15/2015 08:47 PM, Simon Marchi wrote:
>> Some docs seemed outdated. In the case of target_write_memory, the docs
>> in target.c and target/target.h diverged a bit, so I tried to find a
>> reasonnable in-between version.
> 
> "reasonable"
> 
>>
>> gdb/ChangeLog:
>>
>> 	* corefile.c (write_memory): Update doc.
>> 	* gdbcore.h (write_memory): Same.
>> 	* target.c (target_write_memory): Same.
>> 	* target/target.h (target_write_memory): Same.
>> ---
>>  gdb/corefile.c      |  4 ++--
>>  gdb/gdbcore.h       |  6 ++----
>>  gdb/target.c        |  6 +-----
>>  gdb/target/target.h | 10 +++++-----
>>  4 files changed, 10 insertions(+), 16 deletions(-)
>>
>> diff --git a/gdb/corefile.c b/gdb/corefile.c
>> index a042e6d..83b0e80 100644
>> --- a/gdb/corefile.c
>> +++ b/gdb/corefile.c
>> @@ -383,8 +383,8 @@ read_memory_typed_address (CORE_ADDR addr, struct type *type)
>>    return extract_typed_address (buf, type);
>>  }
>>  
>> -/* Same as target_write_memory, but report an error if can't
>> -   write.  */
>> +/* See gdbcore.h. */
> 
> Double space after period.

Done.

>> diff --git a/gdb/target.c b/gdb/target.c
>> index fcf7090..bd9a0eb 100644
>>  int
>>  target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len)
> 
>> diff --git a/gdb/target/target.h b/gdb/target/target.h
>> index 05ac758..e0b7554 100644
>> --- a/gdb/target/target.h
>> +++ b/gdb/target/target.h
>> @@ -49,12 +49,12 @@ extern int target_read_memory (CORE_ADDR memaddr, gdb_byte *myaddr,
>>  extern int target_read_uint32 (CORE_ADDR memaddr, uint32_t *result);
>>  
>>  /* Write LEN bytes from MYADDR to target memory at address MEMADDR.
>> -   Return zero for success, nonzero if any error occurs.  This
>> +   Return zero for success or TARGET_XFER_E_IO if any error occurs.  This
>>     function must be provided by the client.  Implementations of this
>> -   function may define and use their own error codes, but functions
>> -   in the common, nat and target directories must treat the return
>> -   code as opaque.  No guarantee is made about the contents of the
>> -   data at MEMADDR if any error occurs.  */
>> +   function may define and use their own error codes, but functions in
>> +   the common, nat and target directories must treat the return code as
>> +   opaque.  No guarantee is made about how much data got written if any
>> +   error occurs.  */
>>  
>>  extern int target_write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
>>  				ssize_t len);
>>
> 
> This one's not right.  TARGET_XFER_E_IO is a GDB-specific thing, while
> this declaration is meant for both gdb and gdbserver.  It's what
> "This function must be provided by the client" refers to.  It doesn't
> make sense to say "TARGET_XFER_E_IO" one error and then explain that
> the return code is opaque.
> 
> So probably it'd be better to leave this comment:
> 
>> --- a/gdb/target.c
>> +++ b/gdb/target.c
>> @@ -1464,11 +1464,7 @@ target_read_code (CORE_ADDR memaddr, gdb_byte *myaddr, ssize_t len)
>>      return TARGET_XFER_E_IO;
>>  }
>>
>> -/* Write LEN bytes from MYADDR to target memory at address MEMADDR.
>> -   Returns either 0 for success or TARGET_XFER_E_IO if any
>> -   error occurs.  If an error occurs, no guarantee is made about how
>> -   much data got written.  Callers that can deal with partial writes
>> -   should call target_write.  */
>> +/* See target/target.h.  */
> 
> ... but extend it by starting by saying that this is GDB's implementation
> of the function as declared in target/target.h.

Actually it seems obvious now. I'll drop this part from the patch. If we want
to clarify the comments we should do it for all the functions of the interface
(in a separate patch).

> Thanks,
> Pedro Alves

Well then, all that remains would be to fix that stale comment. Is it ok?


From c9b4d03d6f7ffd84215473456d61ca1bb0c553ac Mon Sep 17 00:00:00 2001
From: Simon Marchi <simon.marchi@ericsson.com>
Date: Fri, 12 Jun 2015 14:53:45 -0400
Subject: [PATCH] Cleanup write_memory doc

This doc about write_memory seems outdated.

gdb/ChangeLog:

	* corefile.c (write_memory): Update doc.
	* gdbcore.h (write_memory): Same.
---
 gdb/corefile.c | 4 ++--
 gdb/gdbcore.h  | 6 ++----
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/gdb/corefile.c b/gdb/corefile.c
index a042e6d..5246f71 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -383,8 +383,8 @@ read_memory_typed_address (CORE_ADDR addr, struct type *type)
   return extract_typed_address (buf, type);
 }

-/* Same as target_write_memory, but report an error if can't
-   write.  */
+/* See gdbcore.h.  */
+
 void
 write_memory (CORE_ADDR memaddr,
 	      const bfd_byte *myaddr, ssize_t len)
diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h
index a437c8a..0c08b37 100644
--- a/gdb/gdbcore.h
+++ b/gdb/gdbcore.h
@@ -101,10 +101,8 @@ extern void read_memory_string (CORE_ADDR, char *, int);

 CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type);

-/* This takes a char *, not void *.  This is probably right, because
-   passing in an int * or whatever is wrong with respect to
-   byteswapping, alignment, different sizes for host vs. target types,
-   etc.  */
+/* Same as target_write_memory, but report an error if can't
+   write.  */

 extern void write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
 			  ssize_t len);
-- 
2.1.4

  reply	other threads:[~2015-06-12 19:17 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-15 19:47 [PATCH v2 0/7] Support reading/writing memory on architectures with non 8-bits addressable memory Simon Marchi
2015-04-15 19:47 ` [PATCH v2 1/7] Various cleanups in target read/write code Simon Marchi
2015-05-21 17:45   ` Pedro Alves
2015-06-12 17:09     ` Simon Marchi
2015-04-15 19:47 ` [PATCH v2 3/7] Clarify doc about memory read/write and non-8-bits addressable memory unit sizes Simon Marchi
2015-04-16 14:48   ` Eli Zaretskii
2015-06-12 20:28     ` Simon Marchi
2015-06-13  6:49       ` Eli Zaretskii
2015-06-15 17:40         ` Simon Marchi
2015-06-15 18:09           ` Eli Zaretskii
2015-06-15 19:38             ` Simon Marchi
2015-04-15 19:47 ` [PATCH v2 5/7] target: consider addressable unit size when reading/writing memory Simon Marchi
2015-05-21 17:46   ` Pedro Alves
2015-06-12 21:07     ` Simon Marchi
2015-04-15 19:48 ` [PATCH v2 2/7] Cleanup some docs about memory write Simon Marchi
2015-05-21 17:45   ` Pedro Alves
2015-06-12 19:17     ` Simon Marchi [this message]
2015-06-15  9:57       ` Pedro Alves
2015-06-15 17:36         ` Simon Marchi
2015-04-15 19:48 ` [PATCH v2 6/7] remote: consider addressable unit size when reading/writing memory Simon Marchi
2015-05-21 17:48   ` Pedro Alves
2015-06-15 19:28     ` Simon Marchi
2015-06-17 11:55       ` Pedro Alves
2015-06-18 17:14         ` Simon Marchi
2015-04-15 19:48 ` [PATCH v2 7/7] MI: " Simon Marchi
2015-05-21 17:52   ` Pedro Alves
2015-06-15 19:51     ` Simon Marchi
2015-04-15 19:48 ` [PATCH v2 4/7] gdbarch: add addressable_memory_unit_size method Simon Marchi
2015-05-21 17:46   ` Pedro Alves
2015-06-12 20:54     ` Simon Marchi
2015-05-21 17:44 ` [PATCH v2 0/7] Support reading/writing memory on architectures with non 8-bits addressable memory Pedro Alves
2015-06-11 21:06   ` Simon Marchi
2015-06-11 21:10     ` Simon Marchi
2015-06-12 12:00     ` Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=557B3043.1040302@ericsson.com \
    --to=simon.marchi@ericsson.com \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).