diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog index e8fc96acb5..aa598f277b 100644 --- a/libiberty/ChangeLog +++ b/libiberty/ChangeLog @@ -1,3 +1,11 @@ +2015-12-28 Patrick Palka + + * crc32.c: In the documentation, don't refer to GDB's + now-nonexistent crc32 implementation. In the table-generation + program embedded within the documentation, change the type of + the induction variables i and j from int to unsigned int, to + avoid undefined behavior. + 2015-12-21 Nick Clifton PR 66827 diff --git a/libiberty/crc32.c b/libiberty/crc32.c index 12d9be07cf..52c982fb58 100644 --- a/libiberty/crc32.c +++ b/libiberty/crc32.c @@ -33,15 +33,14 @@ #include "libiberty.h" -/* This table was generated by the following program. This matches - what gdb does. +/* This table was generated by the following program. #include int main () { - int i, j; + unsigned int i, j; unsigned int c; int table[256]; @@ -146,10 +145,9 @@ starting value is @var{init}; this may be used to compute the CRC of data split across multiple buffers by passing the return value of each call as the @var{init} parameter of the next. -This is intended to match the CRC used by the @command{gdb} remote -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 is used by the @command{gdb} remote 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: