|
From: Dirk M. <dm...@gm...> - 2003-11-19 23:23:40
|
On Wednesday 19 November 2003 23:53, Jonathan Payne wrote: > the pointers are well within the middle of a large array that has been > written to many times before the error starts showing up. the stuff that has been written there must have been defined in the first place. > Here's our memcpy_mmx routine that is causing the problem: are you copying partially uninitialized data? The way MMX instructions are implemented in valgrind means that it will check for definedness the first time it reads the data into a register. This is different from non-MMX use of the code, since that one will only complain when there is actually a decision (conditional jump or syscall) depending on an uninitialised value. However, the complexity of MMX does not allow accurate modelling of uninitialised values. Anyway, a small selfcontained example will make it easy to spot the problem. |