summaryrefslogtreecommitdiff
path: root/gdb/remote.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2013-08-14 17:57:09 +0000
committerTom Tromey <tromey@redhat.com>2013-08-14 17:57:09 +0000
commit061f3a2f5c10eb088048fbd5fb8cb550f6eb102d (patch)
tree84073f39a28cf9e1558d3eff57683e9b2e02e6a1 /gdb/remote.c
parent21b1c25dd1576deaef5f555fd156b905b730ebf7 (diff)
downloadgdb-061f3a2f5c10eb088048fbd5fb8cb550f6eb102d.tar.gz
use the libiberty crc code
gdb has a copy of some CRC code that also appears in libiberty. This patch just removes the local copy. You may notice that "crc32" returns unsigned long but "xcrc32" returns unsigned int. However, this does not matter, because crc32 actually does all its operations in unsigned int type, and only the return result is widened. So, the difference does not matter. * remote.c (crc32_table, crc32): Remove. (remote_verify_memory): Use xcrc32.
Diffstat (limited to 'gdb/remote.c')
-rw-r--r--gdb/remote.c32
1 files changed, 1 insertions, 31 deletions
diff --git a/gdb/remote.c b/gdb/remote.c
index 96a62ea9066..47012fef888 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -8521,36 +8521,6 @@ remote_remove_hw_breakpoint (struct gdbarch *gdbarch,
_("remote_remove_hw_breakpoint: reached end of function"));
}
-/* Table used by the crc32 function to calcuate the checksum. */
-
-static unsigned long crc32_table[256] =
-{0, 0};
-
-static unsigned long
-crc32 (const unsigned char *buf, int len, unsigned int crc)
-{
- if (!crc32_table[1])
- {
- /* Initialize the CRC table and the decoding table. */
- int i, j;
- unsigned int c;
-
- for (i = 0; i < 256; i++)
- {
- for (c = i << 24, j = 8; j > 0; --j)
- c = c & 0x80000000 ? (c << 1) ^ 0x04c11db7 : (c << 1);
- crc32_table[i] = c;
- }
- }
-
- while (len--)
- {
- crc = (crc << 8) ^ crc32_table[((crc >> 24) ^ *buf) & 255];
- buf++;
- }
- return crc;
-}
-
/* Verify memory using the "qCRC:" request. */
static int
@@ -8571,7 +8541,7 @@ remote_verify_memory (struct target_ops *ops,
/* Be clever; compute the host_crc before waiting for target
reply. */
- host_crc = crc32 (data, size, 0xffffffff);
+ host_crc = xcrc32 (data, size, 0xffffffff);
getpkt (&rs->buf, &rs->buf_size, 0);
if (rs->buf[0] == 'E')