HomePhabricator

[DWARF] If linkages names are missing, use decl context to get qualified names.

Description

[DWARF] If linkages names are missing, use decl context to get qualified names.

Summary:
This commit adds this alternate route only when parsing variable dies
corresponding to global or static variables. The motivation for this is that GCC
does not emit linkage names for functions and variables declared/defined in
anonymous namespaces. Having this alternate route fixes one part of
TestNamespace which fails when the test case is compiled with GCC.

An alternate route to get fully qualified names of functions whose linkage names
are missing will be added with a followup change. With that, the other failing
part of TestNamespace will also be fixed.

Test Plan: dotest.py -C gcc -p TestNamespace

Reviewers: clayborg

Reviewed By: clayborg

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8569

Event Timeline

ki.stfu added subscribers: Unknown Object (MLST), sivachandra, ki.stfu.Mar 26 2015, 3:31 AM

Hello,

This broke the 2 tests:

1: test_stop_hook_multiple_threads_with_dsym (TestStopHookMultipleThreads.StopHookForMultipleThreadsTestCase)
   Test that lldb stop-hook works for multiple threads. ... ERROR
2: test_stop_hook_multiple_threads_with_dwarf (TestStopHookMultipleThreads.StopHookForMultipleThreadsTestCase)
   Test that lldb stop-hook works for multiple threads. ... ERROR

I fixed it in r233266.