This is the mail archive of the
gdb-prs@sourceware.org
mailing list for the GDB project.
[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
- From: "kungfujesus06 at gmail dot com" <sourceware-bugzilla at sourceware dot org>
- To: gdb-prs at sourceware dot org
- Date: Thu, 07 Dec 2017 15:14:11 +0000
- Subject: [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
- Auto-submitted: auto-generated
- References: <bug-21222-4717@http.sourceware.org/bugzilla/>
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.