I just fixed (I think) a very serious bug in the Resolver driver on 64-bit systems It was in some code that promotes a 32-bit register into a 64-bit accumulator.
This is done by subtracting the old 32-bit register value from the new one, and adding the difference to the accumulator. This works even when the 32-bit value wraps, as a consequence of 2s-complement maths. The problem was caused by the assumption that casting to long gives a 32-bit value. A quick grep of the code for (long) shows very many instances of that cast. I rather suspect that in many cases it might not be doing quite what the author intended when compiled for 64-bit systems. This might need a bit of analysis by someone who actually understands this sort of thing… -- atp If you can't fix it, you don't own it. http://www.ifixit.com/Manifesto ------------------------------------------------------------------------------ Get 100% visibility into Java/.NET code with AppDynamics Lite! It's a free troubleshooting tool designed for production. Get down to code-level detail for bottlenecks, with <2% overhead. Download for free and get started troubleshooting in minutes. http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk _______________________________________________ Emc-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/emc-developers
