This patch add support for core file. This patch includes
- Separation of register context which was earlier share between Linux and FreeBSD.
- Add support to analyse Linux core file for all three ABI (N32, N64 and O32)
Paths
| Differential D30457
[LLDB][MIPS] Core Dump Support ClosedPublic Authored by nitesh.jain on Feb 28 2017, 6:09 AM.
Details Summary This patch add support for core file. This patch includes
Diff Detail
Event TimelineComment Actions Have you tried running the test/testcases/functionalities/postmortem/elf-core/make-core.sh script? Does it generate a reasonably-sized core file (potentially you may need to increase the stack limit slightly). It would be great to have a mips core file test for this.
This revision now requires changes to proceed.Feb 28 2017, 8:00 AM eugene added inline comments.
nitesh.jain added inline comments.
Comment Actions The .note.ABI-tag is missing in the ELF file, generated by test/testcases/functionalities/postmortem/elf-core/make-core.sh. Need to look into it. -Thanks Comment Actions Thank you for updating that. Let me know what the make_core investigation uncovers.
Comment Actions
In case of MIPS, the core file doesn't contain Arch and OS information. Hence we shared information from executable. The make_core use "-nostdlib" flag because of which .note.ABI-tag is missing in the ELF file. Hence OS is set to unknown. I will look into it and submit a separate patch for that. Thanks Comment Actions In case of MIPS, The ELFLinuxPrPsInfo.pr_uid and ELFLinuxPrPsInfo.pr_gid is always 32 bit irrespective of platforms This revision is now accepted and ready to land.Mar 23 2017, 9:26 AM Closed by commit rL299200: [LLDB][MIPS] Core Dump Support. (authored by nitesh.jain). · Explain WhyMar 31 2017, 4:26 AM This revision was automatically updated to reflect the committed changes.
Revision Contents
Diff 93616 lldb/trunk/source/Core/ArchSpec.cpp
lldb/trunk/source/Plugins/Process/FreeBSD/RegisterContextPOSIXProcessMonitor_mips64.h
lldb/trunk/source/Plugins/Process/Linux/NativeRegisterContextLinux_mips64.cpp
lldb/trunk/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.h
lldb/trunk/source/Plugins/Process/Utility/RegisterContextFreeBSD_mips64.cpp
lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_mips.h
lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_mips.cpp
lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_mips64.h
lldb/trunk/source/Plugins/Process/Utility/RegisterContextLinux_mips64.cpp
lldb/trunk/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.h
lldb/trunk/source/Plugins/Process/Utility/RegisterContextPOSIX_mips64.cpp
lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.h
lldb/trunk/source/Plugins/Process/elf-core/RegisterContextPOSIXCore_mips64.cpp
lldb/trunk/source/Plugins/Process/elf-core/ThreadElfCore.h
lldb/trunk/source/Plugins/Process/elf-core/ThreadElfCore.cpp
|