« September 28, 2012 |
Main
| September 30, 2012 »
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
16:58