|
From: Philippe W. <phi...@sk...> - 2012-08-07 20:46:28
|
On Mon, 2012-08-06 at 23:56 +0200, Josef Weidendorfer wrote: > I assume because the guest state was not up-to-date, Valgrind's > SEGFAULT handler was not able to detect that this was a stack underrun. That looks to be the problem, because ensuring the stackpointer is up to date or changing the detection logic for stack underrun fixes all tests. Two patches attached: 1. a patch (horrible hack) that changes the logic to detect stack underrun. I do not think this is the way to go. I attach it for the record. Instead: 2. a complete patch with the solution to have the stack pointer being made up to date at memRW. (this looks somewhat cleaner/safer). This second patch has run all regression tests on amd64. All none tests have also run with --vex-iropt-register-updates=allregs-at-sb-exits. Patch done for other archs (arm, s390, ppc32, ppc64) but not tested. Philippe |