fdeazeve created this revision. Herald added a project: All. fdeazeve requested review of this revision. Herald added a project: LLDB. Herald added a subscriber: lldb-commits.
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. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D132598 Files: lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp Index: lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp =================================================================== --- lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp +++ lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp @@ -453,6 +453,8 @@ // 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); }
Index: lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp =================================================================== --- lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp +++ lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp @@ -453,6 +453,8 @@ // 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); }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits