fjricci created this revision. fjricci added reviewers: clayborg, ADodds, tfiala. fjricci added a subscriber: lldb-commits.
Because PIE executables have an e_type of llvm::ELF::ET_DYN, they are not of type eTypeExecutable, and were being removed when svr4 packets were used. http://reviews.llvm.org/D20990 Files: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -4878,8 +4878,10 @@ if (!found) { lldb_private::ObjectFile * obj = loaded_module->GetObjectFile (); - if (obj && obj->GetType () != ObjectFile::Type::eTypeExecutable) + if (obj && obj->GetType () != ObjectFile::Type::eTypeExecutable && + loaded_module.get() != target.GetExecutableModulePointer()) { removed_modules.Append (loaded_module); + } } }
Index: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp =================================================================== --- source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp +++ source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp @@ -4878,8 +4878,10 @@ if (!found) { lldb_private::ObjectFile * obj = loaded_module->GetObjectFile (); - if (obj && obj->GetType () != ObjectFile::Type::eTypeExecutable) + if (obj && obj->GetType () != ObjectFile::Type::eTypeExecutable && + loaded_module.get() != target.GetExecutableModulePointer()) { removed_modules.Append (loaded_module); + } } }
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits