forked from OSchip/llvm-project
![]() 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 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
Makefile | ||
ProcessElfCore.cpp | ||
ProcessElfCore.h | ||
RegisterContextPOSIXCore_arm.cpp | ||
RegisterContextPOSIXCore_arm.h | ||
RegisterContextPOSIXCore_arm64.cpp | ||
RegisterContextPOSIXCore_arm64.h | ||
RegisterContextPOSIXCore_mips64.cpp | ||
RegisterContextPOSIXCore_mips64.h | ||
RegisterContextPOSIXCore_powerpc.cpp | ||
RegisterContextPOSIXCore_powerpc.h | ||
RegisterContextPOSIXCore_x86_64.cpp | ||
RegisterContextPOSIXCore_x86_64.h | ||
ThreadElfCore.cpp | ||
ThreadElfCore.h |