diff options
author | Dimitar Vlahovski <dvlahovski@google.com> | 2016-07-29 13:18:09 +0000 |
---|---|---|
committer | Dimitar Vlahovski <dvlahovski@google.com> | 2016-07-29 13:18:09 +0000 |
commit | 023dd64f256a3762569aca994f0ac0d12dbfeb31 (patch) | |
tree | c11671c55b225fba793020d350c946481a8e9a5c /lldb/packages/Python/lldbsuite | |
parent | e768c4b858bd32b814baf142dd2acfeae6022638 (diff) | |
download | bcm5719-llvm-023dd64f256a3762569aca994f0ac0d12dbfeb31.tar.gz bcm5719-llvm-023dd64f256a3762569aca994f0ac0d12dbfeb31.zip |
Add/fix support for i386 elf core files
Summary:
There were places in the code, assuming(hardcoding) offsets
and types that were only valid for the x86_64 elf core file format.
The NT_PRSTATUS and NT_PRPSINFO structures are with the 64 bit layout.
I have reused them and parse i386 files manually, and fill them in the
same struct.
Also added some error handling during parsing that checks if the
available bytes in the buffer are enough to fill the structures.
The i386 core file test case now passes.
For reference on the structures layout, I generally used the
source of binutils (bfd, readelf)
Bug: https://llvm.org/bugs/show_bug.cgi?id=26947
Reviewers: labath
Subscribers: lldb-commits
Differential Revision: https://reviews.llvm.org/D22917
llvm-svn: 277140
Diffstat (limited to 'lldb/packages/Python/lldbsuite')
-rw-r--r-- | lldb/packages/Python/lldbsuite/test/functionalities/postmortem/linux-core/TestLinuxCore.py | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/linux-core/TestLinuxCore.py b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/linux-core/TestLinuxCore.py index fd5bb00d056..3c650639aeb 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/linux-core/TestLinuxCore.py +++ b/lldb/packages/Python/lldbsuite/test/functionalities/postmortem/linux-core/TestLinuxCore.py @@ -25,7 +25,6 @@ class LinuxCoreTestCase(TestBase): _x86_64_regions = 5 _s390x_regions = 2 - @skipIf(bugnumber="llvm.org/pr26947") def test_i386(self): """Test that lldb can read the process information from an i386 linux core file.""" self.do_test("i386", self._i386_pid, self._i386_regions) |