diff options
author | Igor Kulaychuk <igor.kulaychuk@gmail.com> | 2016-12-19 14:03:59 +0300 |
---|---|---|
committer | Jan Vorlicek <janvorli@microsoft.com> | 2016-12-19 12:03:59 +0100 |
commit | d23b78ce50d04e97cc23f997fab8c0ce5faa8726 (patch) | |
tree | 595aa07ab83ff85d0a3332425afd88967ee6404f /src/vm/gdbjit.h | |
parent | 6fce053a60454b76e09a0677ea0568de1d165b43 (diff) | |
download | coreclr-d23b78ce50d04e97cc23f997fab8c0ce5faa8726.tar.gz coreclr-d23b78ce50d04e97cc23f997fab8c0ce5faa8726.tar.bz2 coreclr-d23b78ce50d04e97cc23f997fab8c0ce5faa8726.zip |
[Linux][GDB-JIT] Fix bugs in gdbjit that break lldb stepping (#8637)
* Fix .text and .thunk symbols overlapping
When current method calls itself, a __thunk* symbol might be generated with the same address
as the method symbol in .text section. Avoid generating such __thunk* symbol.
* Do not create DWARF line table entries with the same address
* For each HiddenLine assign a zero line number in DWARF
Allow LLDB to to skip HiddenLines when stepping.
* Fix __thunk symbols containing garbage
Fix a bug when __thunk* symbols of previously compiled methods cause
generation of __thunk* symbols for currently compiled method without
filling symbol info.
* Fix missing check for the end of list of compiled methods
* Remove unnecessary check for zero prevLine in gdbjit
Diffstat (limited to 'src/vm/gdbjit.h')
-rw-r--r-- | src/vm/gdbjit.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/vm/gdbjit.h b/src/vm/gdbjit.h index 7d440b7e93..3160eccf57 100644 --- a/src/vm/gdbjit.h +++ b/src/vm/gdbjit.h @@ -401,7 +401,7 @@ private: static void IssueSimpleCommand(char*& ptr, uint8_t command); static void IssueParamCommand(char*& ptr, uint8_t command, char* param, int param_len); static void SplitPathname(const char* path, const char*& pathName, const char*& fileName); - static bool CollectCalledMethods(CalledMethod* pCM); + static bool CollectCalledMethods(CalledMethod* pCM, TADDR nativeCode); #ifdef _DEBUG static void DumpElf(const char* methodName, const MemBuf& buf); #endif |