From acb89234e3a0f7ce7419eb105a2fba50dab6a849 Mon Sep 17 00:00:00 2001 From: DJ Delorie Date: Sat, 25 Jul 2009 11:28:15 +0000 Subject: [PATCH] merge from gcc --- include/libiberty.h | 2 +- libiberty/ChangeLog | 5 +++++ libiberty/crc32.c | 15 ++++++++++++++- 3 files changed, 20 insertions(+), 2 deletions(-) diff --git a/include/libiberty.h b/include/libiberty.h index e50ad64712..a7716e4a41 100644 --- a/include/libiberty.h +++ b/include/libiberty.h @@ -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 diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index 516a90d58f..6033935edc 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,5 +1,10 @@ 2009-07-24 Ian Lance Taylor + PR bootstrap/40854 + * crc32.c (xcrc32): Rename from crc32. + +2009-07-24 Ian Lance Taylor + * crc32.c: New file. * Makefile.in: Rebuild dependencies. (CFILES): Add crc32.c. diff --git a/libiberty/crc32.c b/libiberty/crc32.c index 2171a3d1c7..c12916b521 100644 --- a/libiberty/crc32.c +++ b/libiberty/crc32.c @@ -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--) -- 2.11.0