]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
The amd64-linux unwinder rejects stacks of smaller than 512 bytes as
authorJulian Seward <jseward@acm.org>
Wed, 6 Oct 2010 22:45:18 +0000 (22:45 +0000)
committerJulian Seward <jseward@acm.org>
Wed, 6 Oct 2010 22:45:18 +0000 (22:45 +0000)
bogus, and produces essentially useless traces from them.  With
gcc-4.4 and later, some valid thread stacks really are smaller than
this.  Hence change the limit down to 256 bytes.  Investigated by
Evgeniy Stepanov, eugeni.stepanov@gmail.com.
See bug 243270 comment 21.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11403

coregrind/m_stacktrace.c

index 4896a9a1e1a959e39630079f54f6a1f33aaef4c3..489f6d71d8d49076ceb86ea2a2aae930fd7b4106 100644 (file)
@@ -264,7 +264,7 @@ UInt VG_(get_StackTrace_wrk) ( ThreadId tid_if_known,
    // On Darwin, this kicks in for pthread-related stack traces, so they're
    // only 1 entry long which is wrong.
 #  if !defined(VGO_darwin)
-   if (fp_min + 512 >= fp_max) {
+   if (fp_min + 256 >= fp_max) {
       /* If the stack limits look bogus, don't poke around ... but
          don't bomb out either. */
       if (sps) sps[0] = uregs.xsp;