Author: fjricci Date: Wed Apr 27 12:10:15 2016 New Revision: 267741 URL: http://llvm.org/viewvc/llvm-project?rev=267741&view=rev Log: Use absolute module path when possible if sent in svr4 packets
Summary: If the remote uses svr4 packets to communicate library info, the LoadUnload tests will fail, as lldb only used the basename for modules, causing problems when two modules have the same basename. Using absolute path as sent by the remote will ensure that lldb locates the module from the correct directory when there are overlapping basenames. When debugging a remote process, LoadModuleAtAddress will still fall back to using basename and module_search_paths, so we don't need to worry about using absolute paths in this case. Reviewers: ADodds, jasonmolenda, clayborg, ovyalov Subscribers: lldb-commits, sas Differential Revision: http://reviews.llvm.org/D19557 Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Modified: lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp?rev=267741&r1=267740&r2=267741&view=diff ============================================================================== --- lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp (original) +++ lldb/trunk/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Wed Apr 27 12:10:15 2016 @@ -4863,14 +4863,7 @@ ProcessGDBRemote::LoadModules (LoadedMod if (!modInfo.get_link_map (link_map)) link_map = LLDB_INVALID_ADDRESS; - // hack (cleaner way to get file name only?) (win/unix compat?) - size_t marker = mod_name.rfind ('/'); - if (marker == std::string::npos) - marker = 0; - else - marker += 1; - - FileSpec file (mod_name.c_str()+marker, true); + FileSpec file (mod_name.c_str(), true); lldb::ModuleSP module_sp = LoadModuleAtAddress (file, link_map, mod_base, mod_base_is_offset); _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits