diff options
author | Greg Clayton <gclayton@apple.com> | 2015-10-28 18:04:38 +0000 |
---|---|---|
committer | Greg Clayton <gclayton@apple.com> | 2015-10-28 18:04:38 +0000 |
commit | b704b69e0bf6db0d0369ee84f7437d231a3fcfe9 (patch) | |
tree | ece8698e14cbb997b5de2e10cb1dbd0280c5174c /lldb/packages/Python/lldbsuite/test | |
parent | 06f4e43d290a107217f96cc0b6737cc3ee637c04 (diff) | |
download | bcm5719-llvm-b704b69e0bf6db0d0369ee84f7437d231a3fcfe9.tar.gz bcm5719-llvm-b704b69e0bf6db0d0369ee84f7437d231a3fcfe9.zip |
Make core files not crash when you load a core file into LLDB with just "lldb -c core".
To do this I added a few new ways to determine the OS from PT_NOTE notes in the ELF file:
1 - Look for "LINUX" notes which indicate "linux" should be the OS
2 - Look through the "CORE" notes with NT_FILE as the type and sniff data from the paths listed in this section. On Ubuntu they contain "/lib/x86_64-linux-gnu" which has the triple and allows us to set "linux" as the OS in the architecture returned from ObjectFileELF::GetArchitecture().
Setting the OS correctly allows us to get the triple correct so we can extract registers without asserting and killing LLDB.
Also use the data from the NT_FILE to set the main executable if one isn't set in ProcessElfCore::DoLoadCore().
llvm-svn: 251537
Diffstat (limited to 'lldb/packages/Python/lldbsuite/test')
0 files changed, 0 insertions, 0 deletions