libphobos: Fix backtraces in Fibers on AArch64.
commite20145f12ca3ecd913f28619d5f1b04ee91a18e8
authorIain Buclaw <ibuclaw@gcc.gnu.org>
Mon, 26 Nov 2018 17:27:34 +0000 (26 17:27 +0000)
committerIain Buclaw <ibuclaw@gcc.gnu.org>
Mon, 26 Nov 2018 17:27:34 +0000 (26 17:27 +0000)
tree04572dc92a8c39a8c2aa204bc4e855af4590b308
parentef6e6914c8245ca24dae952bc054ae2328e751ab
libphobos: Fix backtraces in Fibers on AArch64.

When throwing an Exception in the Fiber the backtrace generation
crashes.  This happens because backtrace does not func the stack bottom.
Using '.cfi_undefined x30' tells the debug info that the value in the lr
is unknown, which seems to be the nicest way to stop the unwinder.
Setting x30 to 0 is another option, however it still creates one invalid
frame in gdb, so the .cfi variant is used here instead.

Backport from upstream druntime 2.083.

Reviewed-on: https://github.com/dlang/druntime/pull/2308

From-SVN: r266470
libphobos/libdruntime/core/thread.d
libphobos/libdruntime/core/threadasm.S