Util-linux has always had the clock program (by Charles Hedrick,
Rob Hooft, Harald Koenig, Alan Modra).

Slackware still uses the clock.c and clock.8 from util-linux-2.6
(and calls the resulting source fragment clock-1.6.tar.gz).

Bryan Henderson rewrote it, calling the result hwclock,
and util-linux-2.6 has both clock.c and hwclock.c,
util-linux-2.7 and later only have hwclock.c.

Unfortunately, hwclock.c was broken in various ways, especially
on non-intel hardware, and distributions started shipping private
versions (usually derived from the old clock).

For util-linux-2.9k Andries Brouwer took all clock versions around,
and merged them. The resulting hwclock program works on all architectures.
There are some kernel bugs in the handling of /dev/rtc on some i386 hardware,
so under certain circumstances where hwclock fails one has to give it the
--directisa flag to let hwclock do the clock access itself (which works)
rather than leave it to the kernel. [The precise cause is still being
investigated.]
This is the code presently found in the clock subdirectory.

Bryan Henderson took this code again and merged it with his original
hwclock source. That is the code found in the util-linux-2.9q clock
directory. Unfortunately, this new version didnt work on Sparcs
and in util-linux-2.9r this code was moved to the clockB subdirectory.


Executive summary:
clock/hwclock is claimed to be good (but may need the --directisa flag).


Comments, bug reports etc are welcome.
Note that the source contains a rather detailed description of the clock
hardware involved. Additions and corrections are welcome.

Andries
aeb@cwi.nl
