summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins
Commit message (Collapse)AuthorAgeFilesLines
* [RS] Support RenderScript struct allocationsEwan Crawford2015-11-302-116/+409
| | | | | | | | | | | | This patch adds functionality for dumping allocations of struct elements. This involves: + Jitting the runtime for details on all the struct fields. + Finding the name of the struct type by looking for a global variable of the same type, which will have been reflected back to the java host code. + Using this struct type name to pass into expression evaluation for pretty printing the data for the dump command. llvm-svn: 254294
* [LLGS] Don't forward I/O when process is stoppedPavel Labath2015-11-272-28/+45
| | | | | | | | | | | | | | | | | | | | | Summary: This makes sure we do not attempt to send output over the gdb-remote protocol when the client is not expecting it (i.e., after sending the stop-reply packet). Normally, this should not happen (the process cannot generate output when it is stopped), but due to the fact that pty communication is asynchronous in the linux kernel (llvm.org/pr25652), we may sometimes get this output too late. Instead, we just hold the output, and send it next time we resume. This is not ideal, but at least it makes sure we do not violate the remote protocol. Given that this happens extremely rarely it's not worth trying to work around it with sleeps or something like that. I also remove the m_stdio_communication_mutex, as all of LLGS is now single-threaded anyway. Reviewers: tberghammer, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15019 llvm-svn: 254200
* Add 64/128 bit arm neon register definitions on linuxTamas Berghammer2015-11-266-63/+411
| | | | | | Differential revision: http://reviews.llvm.org/D14985 llvm-svn: 254152
* Prevent ProcessGDBRemote from launching local debug server in case of remote ↵Oleksiy Vyalov2015-11-232-36/+31
| | | | | | | | debug server connection failure. http://reviews.llvm.org/D14895 llvm-svn: 253906
* [LLDB][MIPS] Getting 0 index for H/W watchpoint is not necessarily an errorMohit K. Bhakkad2015-11-231-2/+2
| | | | | | | | Reviewers: jaydeep. Subscribers: bhushan, sagar, nitesh.jain, lldb-commits. Differential Revision: http://reviews.llvm.org/D14860 llvm-svn: 253864
* Add code to PlatformDarwin and HostInfoMacOSX so they return theJason Molenda2015-11-211-155/+168
| | | | | | | | | | | | correct OS type when running on an apple tv or apple watch. Also, in TargetList::CreateTargetInternal, check that a platform is returned by GetPlatformForArchitecture fallback instead of adding it to the vector of platforms unconditionally; we can end up crashing when we call a member function on it later. <rdar://problem/23601982>, <rdar://problem/21292886> llvm-svn: 253763
* Enable saving of mini dumps with lldb process save-core.Adrian McCarthy2015-11-205-1/+97
| | | | | | | | Also adds SB API to save a core and tests that use it. Differential Revision: http://reviews.llvm.org/D14793 llvm-svn: 253734
* Newer versions of the ObjC runtime have an extra field in objc_opt_t.Sean Callanan2015-11-201-6/+32
| | | | llvm-svn: 253732
* Call Platform::SetHostPlatform in the NetBSD platform only on NetBSDEd Maste2015-11-201-0/+2
| | | | | | | | Patch by Kamil Rytarowski Differential Revision: http://reviews.llvm.org/D14876 llvm-svn: 253699
* Revert "FOO"Adrian McCarthy2015-11-205-97/+1
| | | | | | | | Accidentally commited before I was done. This reverts commit 2ec2da4ee52780582d5e9c88b2e982a688fbdbe1. llvm-svn: 253685
* FOOAdrian McCarthy2015-11-205-1/+97
| | | | llvm-svn: 253684
* I like how PlatformAndroid/PlatformLinux log when their platformsJason Molenda2015-11-198-0/+194
| | | | | | | try to CreateInstance, and log the results. I copied that for the Mac platforms. llvm-svn: 253538
* Move this back to a pid_t; this file is OSX only anyway, and the signedness ↵Enrico Granata2015-11-171-2/+2
| | | | | | of pid_t is actually a thing we want here llvm-svn: 253364
* Python3 - Fix some issues related to `PythonFile` class.Zachary Turner2015-11-161-0/+6
| | | | | | | | Python 3 has lots of new debug asserts, and some of these were firing on PythonFile. Specifically related to handling of invalid files. llvm-svn: 253261
* Remove debugging code left in by accident.Zachary Turner2015-11-131-2/+0
| | | | llvm-svn: 253088
* Modernize FormatBacktrace() and make portable for Python 3.Zachary Turner2015-11-133-21/+26
| | | | llvm-svn: 253085
* Another fix for LLDB_DISABLE_PYTHON=1Zachary Turner2015-11-131-1/+5
| | | | llvm-svn: 253073
* Make PythonDataObjects.h work when LLDB_DISABLE_PYTHON=1Zachary Turner2015-11-132-0/+8
| | | | llvm-svn: 253054
* Fix to solve Bug 23139 & Bug 23560Abhishek Aggarwal2015-11-132-1/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - Reason of both bugs: 1. For the very first frame, Unwinder doesn't check the validity of Full UnwindPlan before creating StackFrame from it: When 'process launch' command is run after setting a breakpoint in inferior, the Unwinder runs and saves only Frame 0 (the frame in which breakpoint was set) in thread's StackFrameList i.e. m_curr_frames_sp. However, it doesn't check the validity of the Full UnwindPlan for this frame by unwinding 2 more frames further. 2. Unwinder doesn't update the CFA value of Cursor when Full UnwindPlan fails and FallBack UnwindPlan succeeds in providing valid CFA values for frames: Sometimes during unwinding of stack frames, the Full UnwindPlan inside the RegisterContextLLDB object may fail to provide valid CFA values for these frames. Then the Fallback UnwindPlan is used to unwind the frames. If the Fallback UnwindPlan succeeds, then it provides a valid new CFA value. The RegisterContextLLDB::m_cfa field of Cursor object is updated during the Fallback UnwindPlan execution. However, UnwindLLDB misses the implementation to update the 'cfa' field of this Cursor with this valid new CFA value. - This patch fixes both these issues. - Remove XFAIL in test files corresponding to these 2 Bugs Change-Id: I932ea407545ceee2d628f946ecc61a4806d4cc86 Signed-off-by: Abhishek Aggarwal <abhishek.a.aggarwal@intel.com> Reviewers: jingham, lldb-commits, jasonmolenda Subscribers: lldb-commits, ovyalov, tberghammer Differential Revision: http://reviews.llvm.org/D14226 llvm-svn: 253026
* Fix a bug in PythonExceptionState and add unittest coverage.Zachary Turner2015-11-132-0/+13
| | | | | | | I forgot to reset the restore flag when calling member function `Acquire`. The newly added unittest should cover this case. llvm-svn: 253002
* Introduce a `PythonExceptionState` class.Zachary Turner2015-11-134-85/+263
| | | | | | | | | | | | This is a helper class which supports a number of features including exception to string formatting with backtrace handling and auto-restore of exception state upon scope exit. Additionally, unit tests are included to verify the feature set of the class. llvm-svn: 252994
* Implement RegisterContext for Mini Dumps.Adrian McCarthy2015-11-1215-307/+290
| | | | | | Differential Revision: http://reviews.llvm.org/D14591 llvm-svn: 252950
* Allow renderscript runtime to read MIPS target arguments.Aidan Dodds2015-11-121-1/+41
| | | | llvm-svn: 252914
* Fix non-Windows build after r252906.Zachary Turner2015-11-122-3/+3
| | | | llvm-svn: 252909
* Begin converting uses of PyCallable to PythonCallable.Zachary Turner2015-11-122-15/+49
| | | | | | | | | | | | | | | | PyCallable is a class that exists solely within the swig wrapper code. PythonCallable is a more generic implementation of the same idea that can be used by any Python-related interop code, and lives in PythonDataObjects.h The CL is mostly mechanical, and it doesn't cover every possible user of PyCallable, because I want to minimize the impact of this change (as well as making it easier to figure out what went wrong in case this causes a failure). I plan to finish up the rest of the changes in a subsequent patch, culminating in the removal of PyCallable entirely. llvm-svn: 252906
* Use uniqueness of C++ fully-qualified names to resolve conflictsRamkumar Ramachandra2015-11-121-55/+67
| | | | | | | | | | | | | | | | | | A very expected layout: source tree is in ~/src/llvm, the build directory is in ~/src/llvm-build, and the install location is in /usr/local/{lib,include}. The DWARF information in /usr/local/lib/libLLVM.a for ilist.h points to ~/src/llvm-build/include/llvm/ADT/ilist.h. Now, when someone includes "llvm/ADT/ilist.h" and links against /usr/local/lib/libLLVM.a. Disaster. The DWARF information in libUser.so for ilist.h points to two locations: the one in /usr/include, and the one in ~/src/llvm-build/include. LLDB gets confused. Let's uniquify fully-qualified names and never trip on such a thing. Differential Revision: http://reviews.llvm.org/D14549 llvm-svn: 252898
* Create `PythonTuple` and `PythonCallable` wrapper classes.Zachary Turner2015-11-112-6/+322
| | | | | | | | | | | | | | This adds PythonTuple and PythonCallable classes to PythonDataObjects. Additionally, unit tests are provided that exercise this functionality, including invoking manipulating and checking for validity of tuples, and invoking and checking for validity of callables using a variety of different syntaxes. The goal here is to eventually replace the code in python-wrapper.swig that directly uses the Python C API to deal with callables and name resolution with this code that can be more easily tested and debugged. llvm-svn: 252787
* Add a `PythonModule` class, and a root-level method for resolving names.Zachary Turner2015-11-112-12/+136
| | | | llvm-svn: 252765
* Made the ClangASTImporter into a shared pointer, eliminating a race condition.Sean Callanan2015-11-103-49/+49
| | | | | | | | | | | | | | | It used to be a unique pointer, and there could be a case where ClangASTSource held onto a copy of the pointer but Target::Destroy destroyed the unique pointer in the mean time. I also ensured that there is a validity check on the target (which confirms that a ClangASTImporter can be generated) before the target's shared pointer is copied into ClangASTSource. This race condition caused a crash if Target::Destroy was called and then later the target objecct was deleted. llvm-svn: 252665
* Introduce a way for Languages to specify whether values of "reference types" ↵Enrico Granata2015-11-102-0/+15
| | | | | | | | | | are "nil" (not pointing to anything) or uninitialized (never made to point at anything) This latter determination may or may not be possible on a per-language basis; and neither is mandatory to implement for any language Use this knowledge in the ValueObjectPrinter to generalize the notion of IsObjCNil() and the respective printout llvm-svn: 252663
* Differential Revision: http://reviews.llvm.org/D14538Aidan Dodds2015-11-101-1/+1
| | | | llvm-svn: 252605
* Add support for tvos and watchos to ObjectFileMachO.Jason Molenda2015-11-102-147/+217
| | | | | | | | Add support for the new dyld shared cache format on ios etc devices. Small changes for classifying ObjC metadata symbols. llvm-svn: 252588
* The MacOSXi386 ABI should be used for watchos simulator debug sessions.Jason Molenda2015-11-102-1/+6
| | | | | | | | | | Also, add an async error message if the dyld solib loaded callback function can't find an ABI (which results in no solibs being loaded in the process). This is a big error and we should call attention to it. <rdar://problem/23471384> llvm-svn: 252581
* Avoid sending bare '*' and '}' in an lldb-server packetTim Northover2015-11-091-0/+1
| | | | | | | | | | They get treated as special RLE encoding symbols and packets get corrupted. Most other packet types already know about this apparently, but QEnvironment missed these two. Should fix PR25300. llvm-svn: 252521
* autotools: Also link the new go librariesSylvestre Ledru2015-11-081-0/+1
| | | | llvm-svn: 252429
* Fix pessimizing moves. Found by clang.Davide Italiano2015-11-071-1/+1
| | | | llvm-svn: 252409
* Make lldb::endian::InlHostByteOrder() private.Bruce Mitchener2015-11-0711-35/+35
| | | | | | | | | | | | | | | | | | Summary: Since this is within the lldb namespace, the compiler tries to export a symbol for it. Unfortunately, since it is inlined, the symbol is hidden and this results in a mess of warnings when building on OS X with cmake. Moving it to the lldb_private namespace eliminates that problem. Reviewers: clayborg Subscribers: emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D14417 llvm-svn: 252396
* lldb/ADT: Remove implicit ilist iterator conversions, NFCDuncan P. N. Exon Smith2015-11-071-8/+8
| | | | | | | Remove implicit ilist iterator conversions before reapplying r252372 (which will disallow them). llvm-svn: 252378
* Fix some Clang-tidy warnings and formatting in recently added code.Eugene Zelenko2015-11-079-203/+185
| | | | | | | | | | | Fixed Clang-tidy warnings: * modernize-use-override; * modernize-use-nullptr; * modernize-use-default; * readability-simplify-boolean-expr. llvm-svn: 252374
* Fix for AArch64 watchpoint cache corruption in case of ptrace failureOmair Javaid2015-11-061-1/+49
| | | | | | | | | | Same fix has been submitted for Arm. Review can be found here: Differential revision: http://reviews.llvm.org/D14051 llvm-svn: 252298
* Change the way we read data from the ObjC runtimeEnrico Granata2015-11-061-18/+20
| | | | llvm-svn: 252272
* Add data formatters for NSError and NSExceptionEnrico Granata2015-11-065-0/+457
| | | | llvm-svn: 252269
* Upstream a change to MemoryHistoryASan from Sean:Jason Molenda2015-11-061-2/+11
| | | | | | | | | | | | Author: Sean Callanan <scallanan@apple.com> Date: Tue Jun 23 13:52:24 2015 -0700 Memory history should not crash if it can't inspect its data. Added error handling. <rdar://problem/21231304> llvm-svn: 252252
* Add PlatformRemoteAppleWatch (apple watch), PlatformRemoteAppleTV (apple tv),Jason Molenda2015-11-069-0/+3317
| | | | | | | PlatformAppleWatchSimulator (apple watch simulator), PlatformAppleTVSimulator (apple tv simulator). llvm-svn: 252251
* Use Process::IsAlive instead of just checking for eStateExited.Jason Molenda2015-11-051-4/+4
| | | | | | Two minor tweaks to GetLoadedDynamicLibrariesInfos. llvm-svn: 252242
* GDBRemoteCommunicationClient::SendEnvironmentPacket should use the hex-encodedJason Molenda2015-11-051-0/+1
| | | | | | env packet if the '*' character used for run length encoding is present. llvm-svn: 252239
* Fix cmake build on Mac OS X.Bruce Mitchener2015-11-051-0/+1
| | | | | | | PlatformDarwin uses Host/XML.h which needs to find libxml2, and so it needs to be told how to find the headers. llvm-svn: 252238
* Add support for the new (added last week) llvm::Triple::WatchOS and ::TvOSJason Molenda2015-11-057-3/+71
| | | | | | | | | | in places where we check for Triple::IOS. They're mostly the same as far as lldb is conerned. . Also add a base cass implementation for Process::IsAlive - Greg added this last year but it didn't get upstreamed. llvm-svn: 252227
* Add support for the armv7k ABI which has some smallJason Molenda2015-11-052-2/+112
| | | | | | changes from the normal armv7 ABI used on darwin. llvm-svn: 252225
* Let the process help figure out the Host OS if nobody elseJim Ingham2015-11-054-0/+84
| | | | | | can figure it out. llvm-svn: 252224
OpenPOWER on IntegriCloud