diff options
author | Jan Vorlicek <janvorli@microsoft.com> | 2015-02-16 15:43:50 +0100 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2015-02-16 15:43:50 +0100 |
commit | fb11bcafc8bae0924b51ed4483ed35d884852dc4 (patch) | |
tree | d3433a943bcf8e277cd2618be3e411e17a1db617 /src/debug | |
parent | 0e20a9e34ad2b861460c2772865653082ca06dfd (diff) | |
download | coreclr-fb11bcafc8bae0924b51ed4483ed35d884852dc4.tar.gz coreclr-fb11bcafc8bae0924b51ed4483ed35d884852dc4.tar.bz2 coreclr-fb11bcafc8bae0924b51ed4483ed35d884852dc4.zip |
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
Diffstat (limited to 'src/debug')
-rw-r--r-- | src/debug/ee/debugger.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/debug/ee/debugger.cpp b/src/debug/ee/debugger.cpp index 7ccf26f9e8..b972572104 100644 --- a/src/debug/ee/debugger.cpp +++ b/src/debug/ee/debugger.cpp @@ -16885,7 +16885,11 @@ void DebuggerHeap::Free(void *pMem) #else if (pMem != NULL) { +#ifndef FEATURE_PAL HANDLE hExecutableHeap = ClrGetProcessExecutableHeap(); +#else // !FEATURE_PAL + HANDLE hExecutableHeap = ClrGetProcessHeap(); +#endif // !FEATURE_PAL _ASSERTE(hExecutableHeap != NULL); ClrHeapFree(hExecutableHeap, NULL, pMem); } |