summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2013-03-08 15:22:41 +0000
committerPedro Alves <palves@redhat.com>2013-03-08 15:22:41 +0000
commit38f1a9d6323b37c671a071eacd58916fb4e090cb (patch)
tree70b75e1a46ff50c858af76843ad911bd0152374d
parentd481b68a28c3881a7151a740e838adbff4ccb66f (diff)
downloadgdb-38f1a9d6323b37c671a071eacd58916fb4e090cb.tar.gz
find command, fix -Wpoint-sign
From: Pedro Alves <palves@redhat.com> 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 <palves@redhat.com> * 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 *'.
-rw-r--r--gdb/ChangeLog6
-rw-r--r--gdb/findcmd.c10
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 <palves@redhat.com>
+
+ * 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 <stan@codesourcery.com>
Hafiz Abid Qadeer <abidh@codesourcery.com>
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;