[Lldb-commits] [PATCH] D20990: Don't remove PIE executables when using svr4 packets

Francis Ricci via lldb-commits lldb-commits at lists.llvm.org
Fri Jun 3 15:15:44 PDT 2016


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);
+                }
             }
         }
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D20990.59632.patch
Type: text/x-patch
Size: 751 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20160603/2a87bc74/attachment.bin>


More information about the lldb-commits mailing list