On Fri, 6 Mar 2009, Juergen Keil wrote: >> This is a bug, thanks for catching it! >> >> I've modified the code such that 't' is a 64-bit quantity, >> please see the updated webrev - >> >> http://cr.opensolaris.org/~aalok/lzma-lofi/ > > Hmm, I'd say the root cause is a compiler bug, in the version > of the cc compiler that was used to compile the lofiadm > utility that was used to compress the solaris.zlib file.
There may be a compiler bug too but the fact that I was using a 32-bit quantity and using it to populate a 64-bit header field was incorrect. > The top bits for the 32-bit variable 't' should have been filled with > zero bits with the right shift. > > The cc compiler that I'm using to compile onnv-gate didn't > produce the buggy code: > > % cc -V > cc: Sun C 5.9 SunOS_i386 Patch 124868-07 2008/10/07 That's the same as what I am using. Alok