Version 4.2.2
22 July 2011
  -add progress message for one more errno value (EAGAIN) in response to failed
  mlock; BSDs use this to indicate the lock failed due to being over a system
  or process limit, much like ENOMEM.

  Version 4.2.1
3 October 2010
  -fix offsets/addresses were not being reported correctly in test failure 
  messages.  Thanks: Anton Sergeev.

Version 4.2.0
30 July 2010
  -define _FILE_OFFSET_BITS to 64 by default in conf-cc, which causes some 
  32-bit systems with larger-than-32-bit address spaces to have a 64-bit off_t,
  allowing testing of larger chunks of memory.  Thanks to Steven A. Falco for
  the suggestion.  Let me know if this definition causes problems for anyone.
  -add tests of 8-bit-wide and 16-bit-wide random writes, to enable verifying 
  the correct operation of hardware.  Thanks: Dick Hollenbeck.  If these tests
  trigger unaligned access problems on your platform, you can eliminate these
  tests by removing the -DTEST_NARROW_WRITES definition from the conf-cc file.

Version 4.1.3
28 February 2010
  -fix 64-bit data patterns with some versions of gcc.  Thanks: Tony Battersby.
  -clarify `make install` in readme.  Thanks: Marc Lobelle.

Version 4.1.2
28 July 2009
  -fix portability issue with MAP_LOCKED flag.  Thanks: Scott Haneda.
  -remove debugging output accidentally left in v.4.1.0.
  -cleanups

Version 4.1.1
24 July 2009

  -memtester.h was missing from the 4.1.0 tarball; release update to fix that.
  Thanks: Owen Leonard.

Version 4.1.0
23 July 2009

  -added the ability to test a specific physical region of memory (by mmap'ing
  /dev/mem) with the new -p option, which takes a hex starting address as a
  value.  This is mostly of use to developers trying to verify memory or I/O
  mapped devices (on an embedded system, for instance). Thanks: Allon Stern.
  -re-add the ability to set a suffix on the memory to allocate: "3G", "128K", etc,
  mostly for use with the above new feature, where the "memory" to be tested is
  less than a megabyte, but also useful for users wanting to test many gigabytes;
  you no longer have to do the conversion-to-megs in your head.
  -documentation updates and clarifications.

Version 4.0.8
21 November 2007

  -add a startup check for amount of memory being greater than the possible
  address space; prevents user confusion on 32-bit systems that use addressing
  tricks to have >4GB total system memory.  Thanks: Michael Kelly.
  -documentation updates

Version 4.0.7
13 May 2007

  -fix a bug in the align-to-page logic which may have prevented memtester
  from mlock()ing the memory it was trying to test on some systems.
  Thanks: Baif Chen.

Version 4.0.6
15 November 2006

  -test algorithm improvement: the walking 0 bits test was only walking
  the 0 bit in one direction, instead of walking it up and back down
  the line the way it was intended to.  Thanks: Tim Rule.
  -formatting cleanups.

Version 4.0.5
10 March 2005

  -change to the method of allocating and locking memory; if we get EPERM
  when trying to mlock(), reset the amount of memory desired to the original
  amount and try again without mlock().  The reason for this is that on many
  systems, mlock() won't return EPERM until after having returned ENOMEM for
  a larger amount.  The new behaviour allows processes without mlock privileges
  to still test the fully-specified amount or as much memory as can be
  allocated.  Thanks for the suggestion and testing to Dan Bradley.

Version 4.0.4
26 August 2004

  -make memtester's exit code meaningful.  See the manpage for its meaning.
  Thanks to Wurzel Parsons-Keir, who sent a patch for the code, so I only had
  to document it.

Version 4.0.3
10 August 2004

  -small changes to enable building with dietlibc and a few other environments
  that don't even attempt to provide the various Posix definitions.
  -cosmetic fixes to output.
  -restore the reduce-and-retry loop of memory locking from version 2.

Version 4.0.2
9 August 2004

  -add manpage

Version 4.0.1
8 August 2004

  -fix cosmetic bugs in output

Version 4.0.0
7 August 2004

  -rewrite to clean up the code (previously an ugly hack), for 64-bit
  cleanliness
  -change build system to build on (hopefully) any platform.  Previous
  versions required hackery on some systems.

Version 3 not publicly released.
