There is a bug in sha1c.c that makes that sha1c.c output an incorrect message digest if -O2 ins't enabled. These is because in <string.h> only is defined __LITTLE_ENDIAN if <bits/string2.h> is included. This only happens when -O is set. I suggest to include <endian.h> in sha1c.c to fix the bug.
Ian Blanes.
Linux-crypto: cryptography in and on the Linux system Archive: http://mail.nl.linux.org/linux-crypto/