summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* Remove two additional files missed in r243427Ed Maste2015-07-282-0/+0
| | | | llvm-svn: 243428
* Remove POSIX thread/process abstractionEd Maste2015-07-2818-1992/+1724
| | | | | | | | | As of r240543 ProcessPOSIX and POSIXThread are used only on FreeBSD, so just roll them into ProcessFreeBSD and FreeBSDThread. Differential Revision: http://reviews.llvm.org/D10698 llvm-svn: 243427
* Fix warnings detected by -Wpessimizing-movePavel Labath2015-07-288-23/+20
| | | | | | | | patch by Eugene Zelenko Differential Revision: http://reviews.llvm.org/D11429 llvm-svn: 243399
* [LLGS] Avoid bogus error message on process terminationPavel Labath2015-07-281-15/+10
| | | | | | | | | | | | | | | | | | Summary: Handle_k was printing an error when killing a process because KillSpawnedProcess was expecting to be asynchronously notified of the process death, which no longer works, since we don't wait for the process on a separate thread. However, the whole usage of KillSpawnedProcess is dubious here, since it tries to be nice and terminate the process first with SIGTERM, which will not have the intended effect on a ptraced process. I replace this code with a call to NativeProcessProtocol::Kill, which does not suffer from these problems. Reviewers: chaoren, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11520 llvm-svn: 243397
* There is no reason why this formatter should not cascade. Make it cascadeEnrico Granata2015-07-281-1/+1
| | | | llvm-svn: 243369
* Second attempt at the fix for the recursion in ↵Enrico Granata2015-07-281-4/+13
| | | | | | | | ValueObjectChild::CanUpdateWithInvalidExecutionContext() This one should prevent the previous issues, and be the one true fix for rdar://21949558 llvm-svn: 243367
* Make sure we detect symbols in the new __DATA_DIRTY and __DATA_CONST ↵Greg Clayton2015-07-272-2/+26
| | | | | | | | segments and classify them correctly. <rdar://problem/20942073> llvm-svn: 243344
* Deprecate `SBValue::TypeIsPointerType`.Chaoren Lin2015-07-271-13/+2
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11540 llvm-svn: 243333
* If a path contains a '/' before a ':', then the ':' is not a hostname ↵Enrico Granata2015-07-271-3/+9
| | | | | | separator, but just a part of the path (e.g. /tmp/fi:lename vs. pro:/tmp/fi:lename) llvm-svn: 243330
* Add a more tweakable way for ValueObjectPrinter to control pointer ↵Enrico Granata2015-07-272-16/+57
| | | | | | expansion. NFC. llvm-svn: 243301
* Fix jSignalsInfo packet handling.Oleksiy Vyalov2015-07-271-1/+1
| | | | llvm-svn: 243257
* Add missing namespace specifiers.Benjamin Kramer2015-07-251-1/+1
| | | | llvm-svn: 243220
* Upgrade for Clang API change.Benjamin Kramer2015-07-251-2/+3
| | | | llvm-svn: 243219
* Add some initial logging for when lldb is searching for binaries,Jason Molenda2015-07-255-0/+172
| | | | | | | | | dSYMs, or reading binaries out of memory to the 'Host' log channel. There's more to be done here, both for Mac and for other platforms, but the initial set of new loggings are useful enough to check in at this point. llvm-svn: 243200
* Specify a language to use when parsing expressions.Dawn Perchik2015-07-252-7/+15
| | | | | | | | | | | | This patch adds the option -l/--language to the expression command, for use when setting the language options or choosing an alternate FE. If not specified, the target.language setting is used. Reviewed by: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11447 llvm-svn: 243187
* Make sure we resolve ~ in paths coming from the plist in a dSYM before ↵Jim Ingham2015-07-242-30/+12
| | | | | | | | | | | | adding them to the path remappings. Also don't add the paths to the path mapping when DebugSymbols tells up about files, since we'll just do that again when we read in the dSYM. <rdar://problem/21986208> llvm-svn: 243181
* Use double-checked locking to avoid locking the Module mutex if we don't ↵Greg Clayton2015-07-241-62/+74
| | | | | | | | need to. This avoid a deadlock we were seeing in Xcode. <rdar://problem/21512067> llvm-svn: 243180
* Log socket communications to LIBLLDB_LOG_COMMUNICATION instead ofJason Molenda2015-07-241-3/+3
| | | | | | | | the Host channel. http://reviews.llvm.org/D11497 llvm-svn: 243175
* Some fixes to get LLDB compiling with MSVC 2015.Zachary Turner2015-07-241-0/+2
| | | | llvm-svn: 243174
* Add option eTypeOptionHideEmptyAggregates.Siva Chandra2015-07-242-1/+16
| | | | | | | | | | | | | | | | | | Summary: For certain data structures, when the synthetic child provider returns zero children, a summary like "Empty instance of <typename>" could be more appropriate than something like "size=0 {}". This new option helps hide the trailing "{}". This is also exposed with a -h option for the command "type summary add". Reviewers: granata.enrico Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11473 llvm-svn: 243166
* Bind to the loopback when we are expecting a connection from 127.0.0.1 so we ↵Greg Clayton2015-07-241-9/+18
| | | | | | | | don't set off firewall protections. <rdar://problem/17897318> llvm-svn: 243118
* Initialize variable to prevent garbage values (RenderScriptRuntime)Ewan Crawford2015-07-241-1/+1
| | | | | | | | | | | The kernels_found variable is not initialized, so if it is not assigned true on line 823, then it will be a garbage value in the branch condition on line 828. This patch initializes the variable to false. Patch by neilparikh. Reviewers: domipheus Differential Revision: http://reviews.llvm.org/D11323 llvm-svn: 243104
* Revert "Fix an issue where LLDB would run out of stack space ..."Pavel Labath2015-07-241-6/+4
| | | | | | | | | | This commit introduced an infinite recursion in ValueObjectChild::CanUpdateWithInvalidExecutionContext (because FollowParentChain also considers the current object), which broke nearly all the tests. Ignoring the current object removes the recursion, but two tests still time out (TestDataFormatterLibcxxList.py and TestValueObjectRecursion.py) for some reason. Reverting for now. llvm-svn: 243102
* Improve C++ function name handling and step-in avoid regerxp handlingTamas Berghammer2015-07-243-14/+12
| | | | | | | | | | | | | | | | | | | If the function is a template then the return type is part of the function name. This CL fixes the parsing of these function names in the case when the return type contains ':'. The name of free functions in C++ don't have context part. Fix the logic geting the function name without arguments out from a full function name to handle this case. Change the handling of step-in-avoid-regexp to match the value against the function name without it's arguments and return value. This is required because the default regex ("^std::") would match any template function returning an std object. Fifferential revision: http://reviews.llvm.org/D11461 llvm-svn: 243099
* Handle old style S packet correctlyBhushan D. Attarde2015-07-241-14/+13
| | | | | | | | | | | | | SUMMARY: This patch fixes couple of issues: 1. A thread tries to lock a mutex which is already locked. 2. Updating a thread list before the stop packet is parsed so that it can get a valid thread id and allows to set the stop info correctly. Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits Differential Revision: http://reviews.llvm.org/D11449 llvm-svn: 243091
* Fix an issue where LLDB would run out of stack space trying to decide if a ↵Enrico Granata2015-07-241-4/+6
| | | | | | | | | | | deeply nested child can be updated in the face of an invalid execution context The issue is that a child can't really ask the root object, since this decision could actually hinge on whether a dynamic and/or synthetic value is present To do this, make values vote lazily for whether they are willing to allow this, so that we can navigate up the chain without recursively invoking ourselves Tentative fix for rdar://21949558 llvm-svn: 243077
* Add UNUSED_IF_ASSERT_DISABLED and apply it.Bruce Mitchener2015-07-247-8/+7
| | | | | | | | | | | | | | | Summary: This replaces (void)x; usages where they x was subsequently involved in an assertion with this macro to make the intent more clear. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11451 llvm-svn: 243074
* Disable mutex error checking so it doesn't create problems with the ↵Greg Clayton2015-07-231-1/+1
| | | | | | multi-threaded test case. The error would cause an assertion that could cause lldb to crash when unlocking a mutex returned an error because it was in use. llvm-svn: 243067
* Most thread plans don't handle eStopReasonInstrumentation stop reasons,Jim Ingham2015-07-235-139/+133
| | | | | | | | | | but that wasn't added to the list of reasons they don't explain. That would mean we keep stepping after hitting the AsanDie breakpoint rather than stopping when the Asan event occurred. <rdar://problem/21925479> llvm-svn: 243035
* Speed up NativeProcessLinux::GetLoadedModuleFileSpecPavel Labath2015-07-231-28/+20
| | | | | | | | | | | | | | | Summary: GetLoadedModuleFileSpec was reading /proc/pid/maps character by character, which was very slow, since we do that for every shared library, which android tends to have a lot. Switching to ProcFileReader saves us about 0.4 seconds in attach time. Reviewers: tberghammer Subscribers: tberghammer, danalbert, lldb-commits Differential Revision: http://reviews.llvm.org/D11460 llvm-svn: 243019
* [NativeProcessLinux] Fix a couple of warningsPavel Labath2015-07-231-3/+3
| | | | llvm-svn: 243013
* Add jstopinfo support to llgsPavel Labath2015-07-234-71/+119
| | | | | | | | | | | | | | Summary: This adds support for jstopinfo field of stop-reply packets. This field enables us to avoid querying full thread stop data on most stops (see r242593 for more details). Reviewers: ovyalov, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11415 llvm-svn: 242997
* Fix TestReturnValue.py after 242903 changes that added vector register ↵Greg Clayton2015-07-222-14/+83
| | | | | | | | return value tests. These were failing on x86_64 and i386. It also pointed out an error in our return values where the ABI only relies on xmm registers, not ymm registers for vector return types. llvm-svn: 242972
* Don't specify languages when setting breakpoints in C function names. We ↵Greg Clayton2015-07-223-3/+3
| | | | | | won't be able to tell from the symbol value alone what language the symbol is. llvm-svn: 242969
* Set the live address on child const results in a way that is more ↵Enrico Granata2015-07-221-3/+2
| | | | | | maintainable for sustained merges with our internal branches llvm-svn: 242944
* Don't complete an EnumDecl if it's already complete. We already do this checkSean Callanan2015-07-221-1/+1
| | | | | | | | for CXXRecordDecl. <rdar://problem/21696221> llvm-svn: 242929
* Fix warnings related to virtual functions not being marked as override.Greg Clayton2015-07-221-20/+19
| | | | llvm-svn: 242918
* Fix warnings.Bruce Mitchener2015-07-223-0/+3
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11404 llvm-svn: 242913
* Improve SysV ABI for ARM to handle return values with vector return typeTamas Berghammer2015-07-221-10/+39
| | | | | | | | | | | This is required to print out the rerun value of funcions returning types with the following attributes: __attribute__((__vector_size__(8))); __attribute__((ext_vector_type(2))); Differential revision: http://reviews.llvm.org/D11416 llvm-svn: 242903
* [asan] Display ASan history threads in reverse chronological orderKuba Brecka2015-07-221-1/+1
| | | | | | | | For use-after-free bugs caught by ASan, we show an allocation and a deallocation stack trace. Let's display them in a "most recent event first" order, this patch does that. Differential Revision: http://reviews.llvm.org/D11295 llvm-svn: 242902
* Fix warnings found by -Wextra-semiPavel Labath2015-07-226-14/+7
| | | | | | patch by Eugene Zelenko. llvm-svn: 242875
* Make stream::operator<< take "const" void *Pavel Labath2015-07-222-10/+10
| | | | | | | | | | | | | | Summary: This enables us to avoid casts to "void *" in some cases and avoids a couple of "casts off const qualifiers" warnings. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11388 llvm-svn: 242874
* Clean up wording in help for breakpoint --language option.Dawn Perchik2015-07-221-1/+1
| | | | llvm-svn: 242866
* Fix typos.Bruce Mitchener2015-07-2223-47/+47
| | | | | | | | | | | | Summary: Fix a bunch of typos. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11386 llvm-svn: 242856
* Improve the performance of DWARFDebugInfo::GetCompileUnitContainingDIE() by ↵Greg Clayton2015-07-211-22/+41
| | | | | | | | using a binary search. Also switched DWARFDebugInfo::GetCompileUnit() over to using the same kind of binary search instead of using bsearch(). llvm-svn: 242852
* Add support for specifying a language to use when parsing breakpoints.Dawn Perchik2015-07-2114-9/+137
| | | | | | | | | | | | | | | | | | | | Target and breakpoints options were added: breakpoint set --language lang --name func settings set target.language pascal These specify the Language to use when interpreting the breakpoint's expression (note: currently only implemented for breakpoints on identifiers). If the breakpoint language is not set, the target.language setting is used. This support is required by Pascal, for example, to set breakpoint at 'ns.foo' for function 'foo' in namespace 'ns'. Tests on the language were also added to Module::PrepareForFunctionNameLookup for efficiency. Reviewed by: clayborg Subscribers: jingham, lldb-commits Differential Revision: http://reviews.llvm.org/D11119 llvm-svn: 242844
* [NativeProcessLinux] Integrate MainLoopPavel Labath2015-07-218-810/+263
| | | | | | | | | | | | | | | | | | | Summary: This commit integrates MainLoop into NativeProcessLinux. By registering a SIGCHLD handler with the llgs main loop, we can get rid of the special monitor thread in NPL, which saves as a lot of thread ping-pong when responding to client requests (e.g. qThreadInfo processing time has been reduced by about 40%). It also makes the code simpler, IMHO. Reviewers: ovyalov, clayborg, tberghammer, chaoren Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11150 This is a resubmission of r242305 after it was reverted due to bad interactions with the stdio thread. llvm-svn: 242783
* [LLGS] Get rid of the stdio forwarding threadPavel Labath2015-07-212-66/+70
| | | | | | | | | | | | | | | | Summary: This commit removes the stdio forwarding thread in lldb-server in favor of a MainLoop callback. As in some situations we need to forcibly flush the stream ( => Read() is called from multiple places) and we still have multiple threads, I have had to additionally protect the communication instance with a mutex. Reviewers: ovyalov, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11296 llvm-svn: 242782
* Revert "Add Pipe::WriteWithTimeout method"Pavel Labath2015-07-213-49/+11
| | | | | | | | I have observed an increased flakyness in the buildbots. I suspect something was relying on the fact that Pipe::Write had an implicit timeout of 1s, which this commit has removed. Reverting while I investigate. llvm-svn: 242767
* Add Pipe::WriteWithTimeout methodPavel Labath2015-07-213-11/+49
| | | | | | | | | | | | | | | | | | Summary: This commit adds a WriteWithTimeout method to time Pipe class, analogous to the existing ReadWithTimeout(). It also changes the meaning of passing zero as a timeout value. Previously, zero was used as an infinite timeout value. Now, the meaning of zero timeout to return the data avaiable without sleeping (basically, a non-blocking operation). This makes the behaviour of Pipe consistent with the Communication/Connection classes. For blocking operatios with infinite timeout, I introduce a special constant for this purpose. Reviewers: ovyalov, zturner Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11358 llvm-svn: 242764
OpenPOWER on IntegriCloud