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 <ssbssa@yahoo.de> * server.cc (handle_search_memory_1): Fix gdb_read_memory return value comparison.
This commit is contained in:
parent
33b5a83027
commit
51ac8e2265
|
@ -1,3 +1,8 @@
|
||||||
|
2020-04-22 Hannes Domani <ssbssa@yahoo.de>
|
||||||
|
|
||||||
|
* server.cc (handle_search_memory_1): Fix gdb_read_memory return value
|
||||||
|
comparison.
|
||||||
|
|
||||||
2020-04-16 Tom Tromey <tromey@adacore.com>
|
2020-04-16 Tom Tromey <tromey@adacore.com>
|
||||||
|
|
||||||
* win32-low.cc (windows_nat::handle_access_violation): New
|
* win32-low.cc (windows_nat::handle_access_violation): New
|
||||||
|
|
|
@ -1103,7 +1103,7 @@ handle_search_memory_1 (CORE_ADDR start_addr, CORE_ADDR search_space_len,
|
||||||
: chunk_size);
|
: chunk_size);
|
||||||
|
|
||||||
if (gdb_read_memory (read_addr, search_buf + keep_len,
|
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 "
|
warning ("Unable to access %ld bytes of target memory "
|
||||||
"at 0x%lx, halting search.",
|
"at 0x%lx, halting search.",
|
||||||
|
|
Loading…
Reference in New Issue