From 6221be90ef8447ecc643cc980e7b184f379fea9a Mon Sep 17 00:00:00 2001 From: Pedro Alves Date: Fri, 8 Mar 2013 15:22:44 +0000 Subject: [PATCH] find command, fix -Wpoint-sign MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit From: Pedro Alves The find command's patter/buffer that is passed to the target is a binary blob, not a string. $ make WERROR_CFLAGS="-Wpointer-sign -Werror" findcmd.o -k 2>&1 1>/dev/null ../../src/gdb/findcmd.c: In function ‘find_command’: ../../src/gdb/findcmd.c:278:6: error: pointer targets in passing argument 3 of ‘target_search_memory’ differ in signedness [-Werror=pointer-sign] In file included from ../../src/gdb/findcmd.c:26:0: ../../src/gdb/target.h:1582:12: note: expected ‘const gdb_byte *’ but argument is of type ‘char *’ gdb/ 2013-03-08 Pedro Alves * findcmd.c (put_bits): Change type of parameter to 'gdb_byte *'. (parse_find_args, find_command): Change type of pattern buffer locals to 'gdb_byte *'. --- gdb/ChangeLog | 6 ++++++ gdb/findcmd.c | 10 +++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 4ad179529ec..1b0e80f58a7 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2013-03-08 Pedro Alves + + * findcmd.c (put_bits): Change type of parameter to 'gdb_byte *'. + (parse_find_args, find_command): Change type of pattern buffer + locals to 'gdb_byte *'. + 2012-03-08 Stan Shebs Hafiz Abid Qadeer diff --git a/gdb/findcmd.c b/gdb/findcmd.c index cd26f04ebed..07c1d4e845e 100644 --- a/gdb/findcmd.c +++ b/gdb/findcmd.c @@ -29,7 +29,7 @@ /* Copied from bfd_put_bits. */ static void -put_bits (bfd_uint64_t data, char *buf, int bits, bfd_boolean big_p) +put_bits (bfd_uint64_t data, gdb_byte *buf, int bits, bfd_boolean big_p) { int i; int bytes; @@ -51,7 +51,7 @@ put_bits (bfd_uint64_t data, char *buf, int bits, bfd_boolean big_p) static void parse_find_args (char *args, ULONGEST *max_countp, - char **pattern_bufp, ULONGEST *pattern_lenp, + gdb_byte **pattern_bufp, ULONGEST *pattern_lenp, CORE_ADDR *start_addrp, ULONGEST *search_space_lenp, bfd_boolean big_p) { @@ -59,13 +59,13 @@ parse_find_args (char *args, ULONGEST *max_countp, char size = '\0'; ULONGEST max_count = ~(ULONGEST) 0; /* Buffer to hold the search pattern. */ - char *pattern_buf; + gdb_byte *pattern_buf; /* Current size of search pattern buffer. We realloc space as needed. */ #define INITIAL_PATTERN_BUF_SIZE 100 ULONGEST pattern_buf_size = INITIAL_PATTERN_BUF_SIZE; /* Pointer to one past the last in-use part of pattern_buf. */ - char *pattern_buf_end; + gdb_byte *pattern_buf_end; ULONGEST pattern_len; CORE_ADDR start_addr; ULONGEST search_space_len; @@ -249,7 +249,7 @@ find_command (char *args, int from_tty) /* Command line parameters. These are initialized to avoid uninitialized warnings from -Wall. */ ULONGEST max_count = 0; - char *pattern_buf = 0; + gdb_byte *pattern_buf = 0; ULONGEST pattern_len = 0; CORE_ADDR start_addr = 0; ULONGEST search_space_len = 0; -- 2.30.2