From 5d6df423905215fc5ef796f20525cd84f92c3a8e Mon Sep 17 00:00:00 2001 From: Yao Qi Date: Fri, 10 Jan 2014 13:59:26 +0800 Subject: [PATCH] Change len's type to ULONGEST: remote_write_bytes_aux Hi, This patch changes the type of 'len' from ssize_t to ULONGEST. At the beginning Siddhesh Poyarekar proposed this patch [PATCH] Memory reads and writes should have size_t length https://sourceware.org/ml/gdb-patches/2012-05/msg01073.html to change type of 'len' to size_t. However, after Jan's review, we decide to change it to ssize_t, because callers of these functions may pass signed type to them. AFAICS, the target layer is a boundary. In one side, we pass size_t or ssize_t to target related APIs, and in the other side, the implementation side, we used LONGEST (ULONGEST in latest code) because of to_xfer_partial. Since remote_write_bytes_aux and remote_write_bytes belong to the implementation of remote target, we should use ULONGEST for len, IMO. Regression tested on x86_64-linux. Is it OK? gdb: 2014-01-24 Yao Qi * remote.c (remote_write_bytes_aux): Change type of 'len' to ULONGEST. Don't check 'len' is negative. (remote_write_bytes): Change type of 'len' to ULONGEST. --- gdb/ChangeLog | 6 ++++++ gdb/remote.c | 6 +++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b4acab81fa6..bc69dc5f813 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2014-01-24 Yao Qi + + * remote.c (remote_write_bytes_aux): Change type of 'len' to + ULONGEST. Don't check 'len' is negative. + (remote_write_bytes): Change type of 'len' to ULONGEST. + 2014-01-23 Tom Tromey PR python/16485: diff --git a/gdb/remote.c b/gdb/remote.c index d8869295af3..15e739472d7 100644 --- a/gdb/remote.c +++ b/gdb/remote.c @@ -6848,7 +6848,7 @@ check_binary_download (CORE_ADDR addr) static LONGEST remote_write_bytes_aux (const char *header, CORE_ADDR memaddr, - const gdb_byte *myaddr, ssize_t len, + const gdb_byte *myaddr, ULONGEST len, char packet_format, int use_length) { struct remote_state *rs = get_remote_state (); @@ -6865,7 +6865,7 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr, internal_error (__FILE__, __LINE__, _("remote_write_bytes_aux: bad packet format")); - if (len <= 0) + if (len == 0) return 0; payload_size = get_memory_write_packet_size (); @@ -7003,7 +7003,7 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr, packet. */ static LONGEST -remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, ssize_t len) +remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, ULONGEST len) { char *packet_format = 0; -- 2.30.2