aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2014-07-17 22:51:31 +0000
committerGreg Clayton <gclayton@apple.com>2014-07-17 22:51:31 +0000
commit26a15efa772b8d448f54027aaf3046f9a6aeda6f (patch)
tree3cf89e6c83089674ac4f1c0ce663258f2fde16d1
parent407cc21c32f1a867ca31beef45c51bf032328789 (diff)
downloadllvm-26a15efa772b8d448f54027aaf3046f9a6aeda6f.zip
llvm-26a15efa772b8d448f54027aaf3046f9a6aeda6f.tar.gz
llvm-26a15efa772b8d448f54027aaf3046f9a6aeda6f.tar.bz2
Fixed the objective C symbol parsing in ObjectFileMachO.
This fixes all of the hidden ivar test cases and any case where we try to find the full definition of an objective C class. This also means hidden ivars show up again. <rdar://problem/15458957> llvm.org/pr20270 llvm.org/pr20269 llvm.org/pr20272 llvm-svn: 213328
-rw-r--r--lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp6
-rw-r--r--lldb/test/lang/objc/hidden-ivars/TestHiddenIvars.py2
-rw-r--r--lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py2
-rw-r--r--lldb/test/lang/objc/real-definition/TestRealDefinition.py4
4 files changed, 0 insertions, 14 deletions
diff --git a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
index 4b3e2c0..50c663c 100644
--- a/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
+++ b/lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
@@ -1669,10 +1669,6 @@ ObjectFileMachO::CreateSections (SectionList &unified_section_list)
offset = load_cmd_offset + load_cmd.cmdsize;
}
-
-// StreamFile s(stdout, false); // REMOVE THIS LINE
-// s.Printf ("Sections for %s:\n", m_file.GetPath().c_str());// REMOVE THIS LINE
-// m_sections_ap->Dump(&s, NULL, true, UINT32_MAX);// REMOVE THIS LINE
}
}
@@ -2961,7 +2957,6 @@ ObjectFileMachO::ParseSymtab ()
case eSectionTypeData4:
case eSectionTypeData8:
case eSectionTypeData16:
- case eSectionTypeDataPointers:
type = eSymbolTypeData;
break;
default:
@@ -3742,7 +3737,6 @@ ObjectFileMachO::ParseSymtab ()
case eSectionTypeData4:
case eSectionTypeData8:
case eSectionTypeData16:
- case eSectionTypeDataPointers:
type = eSymbolTypeData;
break;
default:
diff --git a/lldb/test/lang/objc/hidden-ivars/TestHiddenIvars.py b/lldb/test/lang/objc/hidden-ivars/TestHiddenIvars.py
index 3939ef5..f8a768c 100644
--- a/lldb/test/lang/objc/hidden-ivars/TestHiddenIvars.py
+++ b/lldb/test/lang/objc/hidden-ivars/TestHiddenIvars.py
@@ -12,7 +12,6 @@ class HiddenIvarsTestCase(TestBase):
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@dsym_test
- @expectedFailureDarwin("llvm.org/20269")
def test_expr_with_dsym(self):
if self.getArchitecture() == 'i386':
self.skipTest("requires modern objc runtime")
@@ -21,7 +20,6 @@ class HiddenIvarsTestCase(TestBase):
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@dwarf_test
- @expectedFailureDarwin("llvm.org/20269")
def test_expr_with_dwarf(self):
if self.getArchitecture() == 'i386':
self.skipTest("requires modern objc runtime")
diff --git a/lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py b/lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py
index e4e13bd..335aab3 100644
--- a/lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py
+++ b/lldb/test/lang/objc/objc-dyn-sbtype/TestObjCDynamicSBType.py
@@ -15,7 +15,6 @@ class ObjCDynamicSBTypeTestCase(TestBase):
@dsym_test
@skipIfi386
- @expectedFailureDarwin("llvm.org/pr20270")
def test_nsimage_dyn_with_dsym(self):
"""Test that we are able to properly report a usable dynamic type."""
d = {'EXE': self.exe_name}
@@ -25,7 +24,6 @@ class ObjCDynamicSBTypeTestCase(TestBase):
@dwarf_test
@skipIfi386
- @expectedFailureDarwin("llvm.org/pr20270")
def test_nsimage_dyn_with_dwarf(self):
"""Test that we are able to properly report a usable dynamic type."""
d = {'EXE': self.exe_name}
diff --git a/lldb/test/lang/objc/real-definition/TestRealDefinition.py b/lldb/test/lang/objc/real-definition/TestRealDefinition.py
index ea666ed..dd476fc 100644
--- a/lldb/test/lang/objc/real-definition/TestRealDefinition.py
+++ b/lldb/test/lang/objc/real-definition/TestRealDefinition.py
@@ -12,7 +12,6 @@ class TestRealDefinition(TestBase):
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@dsym_test
- @expectedFailureDarwin("llvm.org/pr20272")
def test_frame_var_after_stop_at_interface_with_dsym(self):
"""Test that we can find the implementation for an objective C type"""
if self.getArchitecture() == 'i386':
@@ -22,7 +21,6 @@ class TestRealDefinition(TestBase):
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@dwarf_test
- @expectedFailureDarwin("llvm.org/pr20272")
def test_frame_var_after_stop_at_interface_with_dwarf(self):
"""Test that we can find the implementation for an objective C type"""
if self.getArchitecture() == 'i386':
@@ -32,7 +30,6 @@ class TestRealDefinition(TestBase):
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@dsym_test
- @expectedFailureDarwin("llvm.org/pr20272")
def test_frame_var_after_stop_at_implementation_with_dsym(self):
"""Test that we can find the implementation for an objective C type"""
if self.getArchitecture() == 'i386':
@@ -42,7 +39,6 @@ class TestRealDefinition(TestBase):
@unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")
@dwarf_test
- @expectedFailureDarwin("llvm.org/pr20272")
def test_frame_var_after_stop_at_implementation_with_dwarf(self):
"""Test that we can find the implementation for an objective C type"""
if self.getArchitecture() == 'i386':