« Reading List: Nuclear Assault | Main | Floating Point Benchmark: COBOL Added »

Saturday, September 29, 2012

Computing: MD5 Command-Line Utility Updated

I have just posted an update to the source code of the command-line MD5 utility. The new release, designated version 2.3, corrects problems when building on 64 bit Intel or AMD x86 platforms (x86_64 architecture). The MD5 algorithm requires variables which are guaranteed to be 32 bit unsigned integers. The code which defines this data type failed to properly set it on x86_64 builds. I replaced the previous ad hoc architecture detection with an include of the C99 stdint.h header file, which provides a definition of uint32_t which is guaranteed to be correct for all architectures.

The logic which sets the HIGHFIRST performance optimisation flag for big-endian architectures failed to detect x86_64 machines as little-endian. I added tests for __x86_64__ and __amd64__ so at least it should work out of the box with GCC. I also fixed a compiler warning in the editing of the message which appears when HIGHFIRST is set incorrectly.

Since these fixes only affect builds from source code on x86_64 platforms, the ready to run Win32 executable was not rebuilt.

Posted at September 29, 2012 16:58