https://bugs.kde.org/show_bug.cgi?id=402480
Mark Wielaard <m...@klomp.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |m...@klomp.org --- Comment #1 from Mark Wielaard <m...@klomp.org> --- Comment on attachment 117070 --> https://bugs.kde.org/attachment.cgi?id=117070 Patch to fix the issue While I agree that trying to clobber the stack pointer doesn't make sense (and it only "works" because we never return from the asm), the changing of the stack pointer itself is deliberate and part of the test (bug #345887 was about checking the stack pointer was bogus and not crashing valgrind, even though the test program itself does crash). Also without the bogus stack pointer the expected output doesn't match anymore (because now we get a full backtrace because we can follow the stack). So how about just removing the clobber, but keeping stack pointer change itself: diff --git a/none/tests/amd64-linux/bug345887.c b/none/tests/amd64-linux/bug345887.c index 0f9237d..269bd70 100644 --- a/none/tests/amd64-linux/bug345887.c +++ b/none/tests/amd64-linux/bug345887.c @@ -20,13 +20,17 @@ static void inner(void) "movq $0x10d, %%r14\n" "movq $0x10e, %%r15\n" // not %rbp as mdb is then not able to reconstruct stack trace + // Do change %rsp (to test a bogus stack pointer), + // but don't add %rsp to the clobber list since gcc ignores it + // and since gcc >= 9.0 errors about it + // see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 "movq $0x10f, %%rsp\n" "movq $0x1234, (%%rax)\n" // should cause SEGV here "ud2" // should never get here : // no output registers : // no input registers : "memory", "%rax", "%rbx", "%rcx", "%rdx", "%rsi", "%rdi", - "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15", "%rsp"); + "%r8", "%r9", "%r10", "%r11", "%r12", "%r13", "%r14", "%r15"); } __attribute__((noinline)) -- You are receiving this mail because: You are watching all bug changes.