[lldb] [llgs] Support owning and detaching extra processesAdd a NativeDelegate API to pass new processes (forks) to LLGS,and support detaching them via the 'D' packet. A 'D' packet withouta spec
[lldb] [llgs] Support owning and detaching extra processesAdd a NativeDelegate API to pass new processes (forks) to LLGS,and support detaching them via the 'D' packet. A 'D' packet withouta specific PID detaches all processes, otherwise it detaches eitherthe specified subprocess or the main process, depending on the passedPID.Differential Revision: https://reviews.llvm.org/D100191
show more ...
[lldb-server][linux] Add ability to allocate memoryThis patch adds support for the _M and _m gdb-remote packets, which(de)allocate memory in the inferior. This works by "injecting" am(un)map sysc
[lldb-server][linux] Add ability to allocate memoryThis patch adds support for the _M and _m gdb-remote packets, which(de)allocate memory in the inferior. This works by "injecting" am(un)map syscall into the inferior. This consists of:- finding an executable page of memory- writing the syscall opcode to it- setting up registers according to the os syscall convention- single stepping over the syscallThe advantage of this approach over calling the mmap function is thatthis works even in case the mmap function is buggy or unavailable. Thedisadvantage is it is more platform-dependent, which is why this patchonly works on X86 (_32 and _64) right now. Adding support for otherlinux architectures should be easy and consist of defining theappropriate syscall constants. Adding support for other OSes depends onthe its ability to do a similar trick.Differential Revision: https://reviews.llvm.org/D89124
[lldb] Update header guards to be consistent and compliant with LLVM (NFC)LLDB has a few different styles of header guards and they're not veryconsistent because things get moved around or copy/pa
[lldb] Update header guards to be consistent and compliant with LLVM (NFC)LLDB has a few different styles of header guards and they're not veryconsistent because things get moved around or copy/pasted. This patchunifies the header guards across LLDB and converts everything to matchLLVM's style.Differential revision: https://reviews.llvm.org/D74743
Implement GetSharedLibraryInfoAddressSummary:This is the third patch to improve module loading in a series that started here (where I explain the motivation and solution): D62499Add functions to
Implement GetSharedLibraryInfoAddressSummary:This is the third patch to improve module loading in a series that started here (where I explain the motivation and solution): D62499Add functions to read the r_debug location to know where the linked list of loaded libraries are so I can generate the `xfer:libraries-svr4` packet.I'm also using this function to implement `GetSharedLibraryInfoAddress` that was "not implemented" for linux.Most of this code was inspired by the current ds2 implementation here: https://github.com/facebook/ds2/blob/master/Sources/Target/POSIX/ELFProcess.cpp.Reviewers: clayborg, xiaobai, labathReviewed By: clayborg, labathSubscribers: emaste, krytarowski, mgorny, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D62501llvm-svn: 363458