Implement native stack unwinding for Linux
authorJan Vorlicek <janvorli@microsoft.com>
Mon, 16 Feb 2015 14:43:50 +0000 (15:43 +0100)
committerJan Vorlicek <janvorli@microsoft.com>
Mon, 16 Feb 2015 14:43:50 +0000 (15:43 +0100)
commitfb11bcafc8bae0924b51ed4483ed35d884852dc4
treed3433a943bcf8e277cd2618be3e411e17a1db617
parent0e20a9e34ad2b861460c2772865653082ca06dfd
Implement native stack unwinding for Linux
This change implements native stack unwinding using the libunwind on
Linux. I have also fixed bunch of issues / details in the related code:
1) 0x in front of %p inside format string
2) Subtraction of -1 from dl_info.dli_sname
3) Added .cfi_xxxx annotation to the CallDescrWorkerInternal and the
LEAF_ENTRY / LEAF_END macros.
4) Changed local labels in the CallDescrWorkerInternal to be prefixed by
.L to see the CallDescrWorkerInternal in the stack trace
5) Changed moveOWord to use movdqu - it was being called with one of the
parameters unaligned
12 files changed:
src/debug/ee/debugger.cpp
src/dlls/mscoree/coreclr/CMakeLists.txt
src/pal/inc/rt/palrt.h
src/pal/src/CMakeLists.txt
src/pal/src/arch/i386/macros.inc [new file with mode: 0644]
src/pal/src/exception/seh-unwind.cpp
src/vm/amd64/calldescrworkeramd64.S
src/vm/amd64/excepamd64.cpp
src/vm/amd64/gmsamd64.cpp
src/vm/amd64/unixasmhelpers.S
src/vm/amd64/unixasmmacros.inc
src/vm/stackwalk.cpp