This is the mail archive of the gdb-prs@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/21222] A function with VEX encoded SSE instructions and a particular number of arguments corrupts a value calculated on the stack when stepping through the function


https://sourceware.org/bugzilla/show_bug.cgi?id=21222

--- Comment #15 from Adam Stylinski <kungfujesus06 at gmail dot com> ---
(In reply to Pedro Alves from comment #14)
> Sounds like this is the same as Bug 22499 which I just fixed (in master)
> last week [1].  Any chance you could try out the master branch?
> 
> [1] https://sourceware.org/ml/gdb-patches/2017-11/msg00748.html
> 
> The workaround for current GB is "set displaced-stepping off".

Sure, can you send me a link to the repo?

Your workaround seems to be correct, so there's a good chance your fix will
work:

(gdb) set displaced-stepping off
(gdb) r
Starting program: /home/adam/test.out 

Breakpoint 1, testFunc (a=0x0, n=0, sx=0x0, sy=0x0, rc=0x0, nr=0, b=4, 
    f=9.50000026e+09, c=0x0, d=0x0, e=0x0, gx=0x0, gy=0x0, gz=0x0)
    at test.cpp:12
12          float lambda = C_LIGHT / f;
(gdb) n
13          printf("lambda = %f\n", lambda);
(gdb) n
lambda = 0.031557
14      }
(gdb) n
main () at test.cpp:21
21          return 0;
(gdb) n
22      }
(gdb)

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]