Fix buildbot after https://reviews.llvm.org/D115073.
Modify DataEncoder to be able to encode data in an object owned buffer.DataEncoder was previously made to modify data within an existing buffer. As the code progressed, new clients started using Da
Modify DataEncoder to be able to encode data in an object owned buffer.DataEncoder was previously made to modify data within an existing buffer. As the code progressed, new clients started using DataEncoder to create binary data. In these cases the use of this class was possibly, but only if you knew exactly how large your buffer would be ahead of time. This patchs adds the ability for DataEncoder to own a buffer that can be dynamically resized as data is appended to the buffer.Change in this patch:- Allow a DataEncoder object to be created that owns a DataBufferHeap object that can dynamically grow as data is appended- Add new methods that start with "Append" to append data to the buffer and grow it as needed- Adds full testing of the API to assure modifications don't regress any functionality- Has two constructors: one that uses caller owned data and one that creates an object with object owned data- "Append" methods only work if the object owns it own data- Removes the ability to specify a shared memory buffer as no one was using this functionality. This allows us to switch to a case where the object owns its own data in a DataBufferHeap that can be resized as data is added"Put" methods work on both caller and object owned data."Append" methods work on only object owned data where we can grow the buffer. These methods will return false if called on a DataEncoder object that has caller owned data.The main reason for these modifications is to be able to use the DateEncoder objects instead of llvm::gsym::FileWriter in https://reviews.llvm.org/D113789. This patch wants to add the ability to create symbol table caching to LLDB and the code needs to build binary caches and save them to disk.Reviewed By: labathDifferential Revision: https://reviews.llvm.org/D115073
show more ...
[lldb] Use modern CMake to avoid repetition (NFC)Use the target variants of include_directories and add_definitions toavoid repetition.
[lldb/Test] Fix unit test suffixes and add a CMake error.Lit will only look for unittest targets ending in `Tests`. Add an errorwhen the target doesn't have the `Tests` suffix.
[lldb][NFC] Fix all formatting errors in .cpp file headersSummary:A *.cpp file header in LLDB (and in LLDB) should like this:```//===-- TestUtilities.cpp ----------------------------------------
[lldb][NFC] Fix all formatting errors in .cpp file headersSummary:A *.cpp file header in LLDB (and in LLDB) should like this:```//===-- TestUtilities.cpp -------------------------------------------------===//```However in LLDB most of our source files have arbitrary changes to this format andthese changes are spreading through LLDB as folks usually just use the existingsource files as templates for their new files (most notably the unnecessaryeditor language indicator `-*- C++ -*-` is spreading and in every reviewsomeone is pointing out that this is wrong, resulting in people pointing out that thisis done in the same way in other files).This patch removes most of these inconsistencies including the editor language indicators,all the different missing/additional '-' characters, files that center the file name, missingtrailing `===//` (mostly caused by clang-format breaking the line).Reviewers: aprantl, espindola, jfb, shafik, JDevlieghereReviewed By: JDevlieghereSubscribers: dexonsmith, wuzish, emaste, sdardis, nemanjai, kbarton, MaskRay, atanasyan, arphaman, jfb, abidh, jsji, JDevlieghere, usaxena95, lldb-commitsTags: #lldbDifferential Revision: https://reviews.llvm.org/D73258
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