This patch contains several bugfixes, including making CPU feature
detection actually work on x86. It also includes a minor optimisation
in each core, and avoids falling into an infinite loop on high-value
stamps.
Additionally, minting now uses one of the two optimal counting
positions, which should make minting work at or near the speed
indicated by the benchmark. A side-effect is that the "count" field
may now be padded with quite a lot of leading zeroes.
I've successfully minted a 33-bit stamp on my 667MHz TiBook, which took
a little less than an hour. I've also minted a significant number of
20 and 26 bit stamps on both the TiBook and one of my Athlons, with no
errors showing up.
The segfaults when running on x86 were not due to my code - they were
due to something weird GCC does when -fPIC is specified. I've put in
code to save and restore the EBX register around the CPUID instruction.
I've also caused the AMD64 platform to skip the MMX test, since it's
always available there, and the save/restore of EBX (as opposed to RBX)
could be problematic.
The patch is against hashcash 1.08 - the previous patch should be
removed before applying this one.
-------------------------------------------------------------- from: Jonathan "Chromatix" Morton mail: chromi@xxxxxxxxxxxxxxxxxxxxx website: http://www.chromatix.uklinux.net/ tagline: The key to knowledge is not to rely on people to teach you it.