summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* Recent builds of libcxx actually wrap an std::map's children values in a ↵Enrico Granata2014-09-121-1/+29
| | | | | | union containing either a member named __cc, or either of __cc and __nc (const vs. non-const). This level of wrapping is quite useless for LLDB to show to people, so try to detect it, and filter it out llvm-svn: 217651
* Change SystemRuntimeMacOSX::ReadLibdispatchTSDIndexes to use theJason Molenda2014-09-121-50/+26
| | | | | | | | ProcessStructReader instead of reading the structure out of libdispatch by hand. I will convert more of the struct readers in SystemRuntimeMacOSX over to use this class eventually. llvm-svn: 217649
* llgs: fix Ctrl-C inferior interrupt handling to do the right thing.Todd Fiala2014-09-119-55/+271
| | | | | | | | | | | | | | | | * Sends a SIGSTOP to the process. * Fixes busted SIGSTOP handling. Now builds a list of non-stopped that we wait for the PTRACE group-stop for. When the final must-stop tid gets its group stop, we propagate the process state change. Only the signal receiving the notification of the pending SIGSTOP is marked with the SIGSTOP signal. All the rest, if they weren't already stopped, are marked as stopped with signal 0. * Fixes a few broken tests. * Marks the Linux test I added earlier as expect-pass (no longer XFAIL). Implements fix for http://llvm.org/bugs/show_bug.cgi?id=20908. llvm-svn: 217647
* Add a ProcessStructReader utility class to LLDBEnrico Granata2014-09-112-0/+100
| | | | | | | | | | The purpose of a ProcessStructReader is to allow intelligent reading of data from the underlying process Traditionally, the way this has been handled is to have a load_address and shuffle it around, and use Process::ReadMemory()-kind APIs With a ProcessStructReader one can define a clang type that matches exactly the definition of the thing they are trying to ingest from the inferior process, and then just point LLDB at where the data is Since this work is done in terms of clang types, one can honor packed/aligned attributes, sizes of types on the inferior architecture, and similar tricky caveats without having to hardcode them llvm-svn: 217644
* When deciding if one-liner printing applies, and you find a summary, the ↵Enrico Granata2014-09-111-3/+2
| | | | | | summary is a good candidate to ask. While in theory one could want one-liner printing with a non-one-liner summary, I don't see LLDB as the best place to solve such inner conflicts llvm-svn: 217641
* Add missing constructor definition.Zachary Turner2014-09-111-0/+5
| | | | llvm-svn: 217634
* Update HostProcess to use the same facade pattern as HostThread.Zachary Turner2014-09-1110-101/+197
| | | | llvm-svn: 217632
* Fix Windows build.Zachary Turner2014-09-112-0/+3
| | | | | | | | * ssize_t isn't defined by default on Windows. * New public API files need to be defined in a different file for Windows. llvm-svn: 217624
* gdb-remote tests: added test to verify thread stop info when multi-threaded ↵Todd Fiala2014-09-111-9/+46
| | | | | | | | | | app is interrupted. The Linux version is marked XFAIL for the moment, fixing next. Related to http://llvm.org/bugs/show_bug.cgi?id=20908. llvm-svn: 217613
* DWARF64 FixesTodd Fiala2014-09-1110-65/+145
| | | | | | | | | | | | | | | | 1. DW_FORM_strp and DW_FORM_sec_offset are 64bits for DWARF64 / 32bits for DWARF32 They are different from DW_FORM_addr, whose size is specified in .debug_info 2. Bump DWARF version support form [2,3] to [2,4] in DWARFDebugLine.cpp 3. Fix DWARFDebugLine to support DWARF64 See http://reviews.llvm.org/D5307 for more details. Reviewed by Greg Clayton and Jason Molenda. Change by Tong Shen. llvm-svn: 217607
* Rework how resetting breakpoints in changed modules works. Try to match up oldJim Ingham2014-09-109-50/+396
| | | | | | | | locations with new ones if possible. Next up some test cases... llvm-svn: 217551
* llgs: implement qThreadStopInfo.Todd Fiala2014-09-103-2/+114
| | | | | | | | | | | This change implements this ticket: http://llvm.org/bugs/show_bug.cgi?id=20899 Adds the qThreadStopInfo RSP command for llgs and includes a test that verifies both debugserver and llgs respond with something reasonable on a multithreaded app. llvm-svn: 217549
* Move FreeBSD's thread SetName implementation to ThisThreadEd Maste2014-09-103-8/+1
| | | | | | | | SetName is only used in LLDB to set a thead's own name. Move it there to match OS X and Windows and slightly reduce the effort in any future HostThread/ThisThread name refactoring. llvm-svn: 217521
* Fix FreeBSD build after thread changesEd Maste2014-09-104-7/+8
| | | | | | | More work on the GetName/SetName arguments (thread_t vs tid_t) is needed but this change should restore the build and basic operation. llvm-svn: 217502
* Include the correct headers for kinfo_proc on FreeBSD.Zachary Turner2014-09-091-0/+2
| | | | llvm-svn: 217464
* Try to fix the FreeBSD build.Zachary Turner2014-09-092-4/+5
| | | | llvm-svn: 217462
* Create a HostThread abstraction.Zachary Turner2014-09-0964-821/+1619
| | | | | | | | | | | | | This patch moves creates a thread abstraction that represents a thread running inside the LLDB process. This is a replacement for otherwise using lldb::thread_t, and provides a platform agnostic interface to managing these threads. Differential Revision: http://reviews.llvm.org/D5198 Reviewed by: Jim Ingham llvm-svn: 217460
* Add a comment explaining why we're casting the localEric Christopher2014-09-091-0/+1
| | | | | | variable. llvm-svn: 217456
* Quiet unused variable warning that only occursEric Christopher2014-09-091-0/+1
| | | | | | when compiling optimized. llvm-svn: 217429
* Remove the -Wno-unused-function option. We are cleanEric Christopher2014-09-091-3/+0
| | | | | | with -Wunused-function as far as I can tell. llvm-svn: 217428
* Fix comment and remove duplicated -Wno-sign-compare option.Eric Christopher2014-09-091-3/+2
| | | | llvm-svn: 217426
* Remove unused class variable and its initialization.Eric Christopher2014-09-092-2/+0
| | | | llvm-svn: 217425
* Remove a pair of default values from fully covered switches.Eric Christopher2014-09-091-2/+0
| | | | llvm-svn: 217424
* Add a newline to the end of the file.Eric Christopher2014-09-091-1/+1
| | | | llvm-svn: 217423
* Compare against the right size integer.Eric Christopher2014-09-091-1/+1
| | | | llvm-svn: 217422
* Remove two default cases out of fully covered switches.Eric Christopher2014-09-091-25/+0
| | | | llvm-svn: 217421
* Remove two unused class variables.Eric Christopher2014-09-092-5/+1
| | | | llvm-svn: 217420
* Remove unused class variable and update all callers/users.Eric Christopher2014-09-093-5/+2
| | | | llvm-svn: 217419
* Fix -Werror,-Wcovered-switch-default warning in DWARFExpressionEric Christopher2014-09-091-5/+0
| | | | | | | as part of an attempt to get lldb building inside llvm with -Werror enabled. llvm-svn: 217418
* Add back a return that got lost in rebaseKeno Fischer2014-09-091-0/+1
| | | | llvm-svn: 217415
* Fix configure & make build with python disabledKeno Fischer2014-09-098-8/+22
| | | | | | | | | | | | | This makes sure that nothing that requires Python is being built when the LLDB_DISABLE_PYTHON flag is being passed in. It also changes a use of CPPFLAGS to CPP.Flags since the former is overridden when external flags are passed in while the later is not. I'm not sure exactly why LLDB_DISABLE_PYTHON is in CXXFLAGS rather than CPPFLAGS, but cleaning that up is for another commit. Differential Revision: http://reviews.llvm.org/D4918 llvm-svn: 217414
* DataFormatters: add missing destructor implementationSaleem Abdulrasool2014-09-081-0/+4
| | | | | | | The last of the missing symbols to correct the make based build to restore the FreeBSD buildbot! llvm-svn: 217394
* Fix test failure for ↵Kuba Brecka2014-09-082-5/+10
| | | | | | | | test/functionalities/connect_remote/TestConnectRemote.py when port 12345 is already in use Reviewed at http://reviews.llvm.org/D5221 llvm-svn: 217388
* Modify call-function and rdar-12437442 tests to clean up all files produced ↵Todd Fiala2014-09-082-0/+7
| | | | | | during test run. llvm-svn: 217387
* Linux/FreeBSD local debugging: allow redirection to pts for POSIX process.Todd Fiala2014-09-082-8/+11
| | | | | | | | See http://reviews.llvm.org/D5135 for more details. Change by Zephyr Zhao. llvm-svn: 217382
* remove a couple of default cases from switchesSaleem Abdulrasool2014-09-082-6/+11
| | | | | | | | | This cleans up a couple of warnings [-Wcovered-switch-default] from the build by removing the default case from a couple of switches which are fully covered. This is generally better as it will help identify when a new item is added to the enumeration but the use sites are not updated. llvm-svn: 217376
* DataFormatters: add missing function implementationsSaleem Abdulrasool2014-09-081-0/+10
| | | | | | | | | | | | | This adds a definition for the TypeValidatorImpl_CXX destructor. Because the destructor is first virtual method, and declared out-of-line, it also serves as the key function. Since no definition was present, no virtual table for TypeValidatorImpl_CXX was emitted, which results in link failures due to references to undefined symbols. Also add a definition for a TypeValidatorImpl contructor which was declared out-of-line and referenced in a constructor for TypeValidatorImpl_CXX. llvm-svn: 217375
* build: attempt to fix the buildbotsSaleem Abdulrasool2014-09-081-0/+1
| | | | | | | | | | | | | Linking Release+Asserts executable lldb-gdbserver (without symbols) liblldb.so: undefined reference to `lldb_private::MemoryHistoryASan::Initialize()' liblldb.so: undefined reference to `lldb_private::MemoryHistoryASan::Terminate()' liblldb.so: undefined reference to `vtable for lldb_private::TypeValidatorImpl_CXX' liblldb.so: undefined reference to `lldb_private::TypeValidatorImpl::TypeValidatorImpl(lldb_private::TypeValidatorImpl::Flags const&)' liblldb.so underlinked to lldbPluginMemoryHistoryASan.a when building with the make based build system (as opposed to CMake). llvm-svn: 217360
* driver: handle write error betterSaleem Abdulrasool2014-09-081-2/+18
| | | | | | | | | | | | | | | We would previously simply assume that the write would always succeed. However, write(2) may return -1 for error as well as fail to perform a complete write (in which case the returned number of bytes will be less than the requested bytes). Explicitly check if an error condition is encountered. This would previously not be caught as we default initialized success to true. Add an assertion that we always perform a complete write (a continuous retry could be added to ensure that we finish writing completely). This was caught by GCC's signed comparison warning and manual inspection. llvm-svn: 217355
* DataFormatters: use include instead of import in C++Saleem Abdulrasool2014-09-071-1/+1
| | | | | | | | | | '#import' is an Objective-C construct; avoid using it in C++. NFC. Addresses PR20867. Patch by Kevin Avila! llvm-svn: 217340
* Correct copied error messageEd Maste2014-09-061-1/+1
| | | | | | Patch by Remco Verhoef. llvm-svn: 217312
* Add a -V <bool> flag to frame variable/expression that enables execution of ↵Enrico Granata2014-09-064-10/+89
| | | | | | type validators. The jury is still out on what the user experience of type validators should be, so for now gate it on a specific flag. The mode I am using is prefix variables that fail to validate with a bang, and then emitting the actual validation error on a separate line. Of course, given the total absence of validators, this should never actually happen to you llvm-svn: 217303
* The original jit no longer exists in llvm, remove from dependencies.Eric Christopher2014-09-061-1/+1
| | | | | | PR20864 llvm-svn: 217301
* Implement ASan history threads in SB APIKuba Brecka2014-09-066-0/+57
| | | | | | | | | Reviewed at http://reviews.llvm.org/D5219 and http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140901/012809.html llvm-svn: 217300
* Expose the ability to retrieve the result of a type validator via the SB ↵Enrico Granata2014-09-063-0/+36
| | | | | | API. To keep it simple, do not expose the pair, but just return a NULL string for success, and a non-NULL string for error; If we were to decide to expose the pair, we would need an SBTypeValidatorResult, which is fine, but it should come as part of exposing type validators through the SB API rather than as a one-off thing. So, KISS for now llvm-svn: 217299
* Fix CMake configuration (forgot to add a file in the last commit).Kuba Brecka2014-09-061-0/+1
| | | | llvm-svn: 217297
* Expose ThreadCollection in SB APIKuba Brecka2014-09-068-0/+220
| | | | | | | | | Reviewed at http://reviews.llvm.org/D5218 and http://lists.cs.uiuc.edu/pipermail/lldb-commits/Week-of-Mon-20140901/012828.html llvm-svn: 217296
* Added logging of the POSIX-DYLD rendezvous address (i.e. the info_location ↵Todd Fiala2014-09-051-1/+11
| | | | | | address) llvm-svn: 217287
* Add more logging to DynamicLoaderPOSIXDYLD, especially around rendezvous ↵Todd Fiala2014-09-051-15/+78
| | | | | | | | | handling. Covers more of the behavior of rendezvous breakpoint handling and other dynamic loader aspects, all on the 'enable log lldb dyld' log channel. llvm-svn: 217283
* Start plumbing the type validator logic through to the ValueObjects; allow a ↵Enrico Granata2014-09-055-9/+59
| | | | | | ValueObject to have a validator, to update it from the FormatManager, and to retrieve (and cache) the result of the validation llvm-svn: 217282
OpenPOWER on IntegriCloud