Skip to content
Snippets Groups Projects
Commit bdc0e08d authored by DJ Delorie's avatar DJ Delorie
Browse files

merge from gcc

parent 6e881691
No related branches found
No related tags found
No related merge requests found
......@@ -313,7 +313,7 @@ extern double physmem_total (void);
extern double physmem_available (void);
/* Compute the 32-bit CRC of a block of memory. */
extern unsigned int crc32 (const unsigned char *, int, unsigned int);
extern unsigned int xcrc32 (const unsigned char *, int, unsigned int);
/* These macros provide a K&R/C89/C++-friendly way of allocating structures
with nice encapsulation. The XDELETE*() macros are technically
......
2009-07-24 Ian Lance Taylor <iant@google.com>
PR bootstrap/40854
* crc32.c (xcrc32): Rename from crc32.
2009-07-24 Ian Lance Taylor <iant@google.com>
* crc32.c: New file.
......
......@@ -150,12 +150,25 @@ protocol for the @samp{qCRC} command. In order to get the same
results as gdb for a block of data, you must pass the first CRC
parameter as @code{0xffffffff}.
This CRC can be specified as:
Width : 32
Poly : 0x04c11db7
Init : parameter, typically 0xffffffff
RefIn : false
RefOut : false
XorOut : 0
This differs from the "standard" CRC-32 algorithm in that the values
are not reflected, and there is no final XOR value. These differences
make it easy to compose the values of multiple blocks.
@end deftypefn
*/
unsigned int
crc32 (const unsigned char *buf, int len, unsigned int init)
xcrc32 (const unsigned char *buf, int len, unsigned int init)
{
unsigned int crc = init;
while (len--)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment