From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 2111) id 84A3E3858D33; Wed, 22 Apr 2020 19:25:20 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 84A3E3858D33 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Hannes Domani To: gdb-cvs@sourceware.org Subject: [binutils-gdb] Fix search of large memory area in gdbserver X-Act-Checkin: binutils-gdb X-Git-Author: Hannes Domani X-Git-Refname: refs/heads/master X-Git-Oldrev: 33b5a83027f1eb5a7a628f010667f470b21d5aa8 X-Git-Newrev: 51ac8e22655ba777498249ae0c776fd794a2c298 Message-Id: <20200422192520.84A3E3858D33@sourceware.org> Date: Wed, 22 Apr 2020 19:25:20 +0000 (GMT) X-BeenThere: gdb-cvs@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 19:25:20 -0000 https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=51ac8e22655ba777498249ae0c776fd794a2c298 commit 51ac8e22655ba777498249ae0c776fd794a2c298 Author: Hannes Domani Date: Wed Apr 22 19:05:07 2020 +0200 Fix search of large memory area in gdbserver If the search area is bigger than SEARCH_CHUNK_SIZE (16000), then you get an error in gdbserver: gdb: (gdb) find /w 0x3c43f0,+20000,0x04030201 gdb: Pattern not found. gdbserver: Unable to access 3997 bytes of target memory at 0x3c8273, halting search. The return value of any additional gdb_read_memory calls were compared with the wrong value, this fixes it. gdbserver/ChangeLog: 2020-04-22 Hannes Domani * server.cc (handle_search_memory_1): Fix gdb_read_memory return value comparison. Diff: --- gdbserver/ChangeLog | 5 +++++ gdbserver/server.cc | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gdbserver/ChangeLog b/gdbserver/ChangeLog index 96642e5cf39..f017922d9e1 100644 --- a/gdbserver/ChangeLog +++ b/gdbserver/ChangeLog @@ -1,3 +1,8 @@ +2020-04-22 Hannes Domani + + * server.cc (handle_search_memory_1): Fix gdb_read_memory return value + comparison. + 2020-04-16 Tom Tromey * win32-low.cc (windows_nat::handle_access_violation): New diff --git a/gdbserver/server.cc b/gdbserver/server.cc index 77175ff74cb..0672f9bc4d1 100644 --- a/gdbserver/server.cc +++ b/gdbserver/server.cc @@ -1103,7 +1103,7 @@ handle_search_memory_1 (CORE_ADDR start_addr, CORE_ADDR search_space_len, : chunk_size); if (gdb_read_memory (read_addr, search_buf + keep_len, - nr_to_read) != search_buf_size) + nr_to_read) != nr_to_read) { warning ("Unable to access %ld bytes of target memory " "at 0x%lx, halting search.",