[Lldb-commits] [PATCH] D71784: Fedora Linux fails `Unwind/thread-step-out-ret-addr-check.test`
Mark Mossberg via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Fri Dec 20 14:48:50 PST 2019
mossberg added a comment.
Thanks for looking into this @jankratochvil!
> Another problem is that Fedora Linux has executable stack by default and all programs indicate non-executable stack by PT_GNU_STACK, after fixing the underscore I was getting:
>
> (lldb) thread step-out
> Process 22294 exited with status = 0 (0x00000000)
> (lldb) _
> Is the .section harmless for non-Linux platforms or will it need some conditional compilation? (#ifdef is not available in .s file)
Ok, I guess I was incorrectly assuming the stack should be non-executable by default on all platforms. In this case, let's rewrite the test to have a variable that is actually in the .data section (therefore guaranteed to be non-executable), and pass a pass a pointer to it to `nonstandard_stub`. The core requirement is that the pointer passed to `nonstandard_stub` must simply point to some kind of non-executable memory. I can do this.
================
Comment at: lldb/test/Shell/Unwind/Inputs/thread-step-out-ret-addr-check.s:13
# memory check.
+nonstandard_stub:
_nonstandard_stub:
----------------
Maybe we can just remove the underscore version, and simply use `nonstandard_stub` if it will work everywhere?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D71784/new/
https://reviews.llvm.org/D71784
More information about the lldb-commits
mailing list