From d8de349951c275af86d67eb3e9c7b1f554531a9b Mon Sep 17 00:00:00 2001 From: Pavel Labath Date: Tue, 28 Jan 2020 13:42:34 +0100 Subject: [PATCH] Revert "[lldb/DWARF] Only match mangled name in full-name function lookup (with accelerators)" This reverts commit 1b12766883006b8aa9d1ff744e57317647aa052a because of breaking the mac test suite. I'm not certain this is the cause because of a concurrent build breakage which masked this problem, but the failure messages are related to symbol lookup, which makes this very likely. --- .../source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp | 4 +-- .../Shell/SymbolFile/DWARF/find-basic-function.cpp | 31 ++++++++-------------- 2 files changed, 13 insertions(+), 22 deletions(-) diff --git a/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp b/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp index 2b435e8..7b8e499 100644 --- a/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp +++ b/lldb/source/Plugins/SymbolFile/DWARF/DWARFIndex.cpp @@ -39,8 +39,8 @@ void DWARFIndex::ProcessFunctionDIE(llvm::StringRef name, DIERef ref, if (!SymbolFileDWARF::DIEInDeclContext(&parent_decl_ctx, die)) return; - // In case of a full match, we insert functions with a matching mangled name. - if (name_type_mask & eFunctionNameTypeFull && die.GetMangledName() == name) { + // In case of a full match, we just insert everything we find. + if (name_type_mask & eFunctionNameTypeFull) { dies.push_back(die); return; } diff --git a/lldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp b/lldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp index c4fdee11..0adf7b7 100644 --- a/lldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp +++ b/lldb/test/Shell/SymbolFile/DWARF/find-basic-function.cpp @@ -10,10 +10,6 @@ // RUN: FileCheck --check-prefix=FULL %s // RUN: lldb-test symbols --name=_Z3fooi --find=function --function-flags=full %t | \ // RUN: FileCheck --check-prefix=FULL-MANGLED %s -// RUN: lldb-test symbols --name=_ZN3bar3baz3fooEv --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL-MANGLED-NAMESPACE %s -// RUN: lldb-test symbols --name=_ZN4sbar3fooEi --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL-MANGLED-METHOD %s // RUN: lldb-test symbols --name=foo --context=context --find=function --function-flags=base %t | \ // RUN: FileCheck --check-prefix=CONTEXT %s // RUN: lldb-test symbols --name=not_there --find=function %t | \ @@ -25,13 +21,9 @@ // RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \ // RUN: FileCheck --check-prefix=METHOD %s // RUN: lldb-test symbols --name=foo --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL %s +// RUN: FileCheck --check-prefix=FULL-INDEXED %s // RUN: lldb-test symbols --name=_Z3fooi --find=function --function-flags=full %t | \ // RUN: FileCheck --check-prefix=FULL-MANGLED %s -// RUN: lldb-test symbols --name=_ZN3bar3baz3fooEv --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL-MANGLED-NAMESPACE %s -// RUN: lldb-test symbols --name=_ZN4sbar3fooEi --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL-MANGLED-METHOD %s // RUN: lldb-test symbols --name=foo --context=context --find=function --function-flags=base %t | \ // RUN: FileCheck --check-prefix=CONTEXT %s // RUN: lldb-test symbols --name=not_there --find=function %t | \ @@ -45,13 +37,9 @@ // RUN: lldb-test symbols --name=foo --find=function --function-flags=method %t | \ // RUN: FileCheck --check-prefix=METHOD %s // RUN: lldb-test symbols --name=foo --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL %s +// RUN: FileCheck --check-prefix=FULL-INDEXED %s // RUN: lldb-test symbols --name=_Z3fooi --find=function --function-flags=full %t | \ // RUN: FileCheck --check-prefix=FULL-MANGLED %s -// RUN: lldb-test symbols --name=_ZN3bar3baz3fooEv --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL-MANGLED-NAMESPACE %s -// RUN: lldb-test symbols --name=_ZN4sbar3fooEi --find=function --function-flags=full %t | \ -// RUN: FileCheck --check-prefix=FULL-MANGLED-METHOD %s // RUN: lldb-test symbols --name=foo --context=context --find=function --function-flags=base %t | \ // RUN: FileCheck --check-prefix=CONTEXT %s // RUN: lldb-test symbols --name=not_there --find=function %t | \ @@ -70,17 +58,20 @@ // METHOD-DAG: name = "sbar::foo(int)", mangled = "_ZN4sbar3fooEi" // METHOD-DAG: name = "ffbar()::sbaz::foo()", mangled = "_ZZ5ffbarvEN4sbaz3fooEv" +// FULL-INDEXED: Found 7 functions: +// FULL-INDEXED-DAG: name = "foo()", mangled = "_Z3foov" +// FULL-INDEXED-DAG: name = "foo(int)", mangled = "_Z3fooi" +// FULL-INDEXED-DAG: name = "bar::foo()", mangled = "_ZN3bar3fooEv" +// FULL-INDEXED-DAG: name = "bar::baz::foo()", mangled = "_ZN3bar3baz3fooEv" +// FULL-INDEXED-DAG: name = "sbar::foo()", mangled = "_ZN4sbar3fooEv" +// FULL-INDEXED-DAG: name = "sbar::foo(int)", mangled = "_ZN4sbar3fooEi" +// FULL-INDEXED-DAG: name = "ffbar()::sbaz::foo()", mangled = "_ZZ5ffbarvEN4sbaz3fooEv" + // FULL: Found 0 functions: // FULL-MANGLED: Found 1 functions: // FULL-MANGLED-DAG: name = "foo(int)", mangled = "_Z3fooi" -// FULL-MANGLED-NAMESPACE: Found 1 functions: -// FULL-MANGLED-NAMESPACE-DAG: name = "bar::baz::foo()", mangled = "_ZN3bar3baz3fooEv" - -// FULL-MANGLED-METHOD: Found 1 functions: -// FULL-MANGLED-METHOD-DAG: name = "sbar::foo(int)", mangled = "_ZN4sbar3fooEi" - // CONTEXT: Found 1 functions: // CONTEXT-DAG: name = "bar::foo()", mangled = "_ZN3bar3fooEv" -- 2.7.4