From: Felipe de Azevedo Piovezan Date: Wed, 24 Aug 2022 20:03:29 +0000 (-0400) Subject: [lldb] Add more dylib paths for exception breakpoints X-Git-Tag: upstream/17.0.6~35422 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=baeb17cdfa4bba8985ebb9809edf7eb82c636bc4;p=platform%2Fupstream%2Fllvm.git [lldb] Add more dylib paths for exception breakpoints When setting a breakpoint upon throwing exceptions, LLDB only searches for the libc++abi code inside dylibs named: 1. libc++abi.dylib 2. libSystem.B.dylib However, this fails to account for libs with a version number. For example, when building the libcxx and libcxxabi runtimes, the following dylibs are generated: build/lib/libc++abi.1.0.dylib build/lib/libc++abi.1.dylib -> libc++abi.1.0.dylib build/lib/libc++abi.dylib -> libc++abi.1.dylib If we are debugging a program linked against any of the "versioned" libs, the breakpoint doesn't work. This commit adds these names to the search list. Differential Revision: https://reviews.llvm.org/D132598 --- diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp index 1595335..563f2de 100644 --- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp +++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp @@ -453,6 +453,8 @@ lldb::SearchFilterSP ItaniumABILanguageRuntime::CreateExceptionSearchFilter() { // Apple binaries. filter_modules.EmplaceBack("libc++abi.dylib"); filter_modules.EmplaceBack("libSystem.B.dylib"); + filter_modules.EmplaceBack("libc++abi.1.0.dylib"); + filter_modules.EmplaceBack("libc++abi.1.dylib"); } return target.GetSearchFilterForModuleList(&filter_modules); }