summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert "Add a "not_in()" function you can apply to the list type arguments ↵Pavel Labath2015-11-162-21/+4
| | | | | | | | to expectedFailureAll to reverse" This reverts commit r253106. llvm-svn: 253197
* Add more autotools/gmake NetBSD glueBruce Mitchener2015-11-154-5/+14
| | | | | | | | | | | | | | Summary: This diff approaches building the project natively on NetBSD with the autoconf/gmake framework. Patch by Kamil Rytarowski. Thanks! Reviewers: emaste, clayborg Subscribers: tberghammer, joerg, brucem, lldb-commits Differential Revision: http://reviews.llvm.org/D14531 llvm-svn: 253153
* Allow to override python-config executable name from command lineBruce Mitchener2015-11-153-3/+6
| | | | | | | | | | | | | | Summary: pkgsrc (on NetBSD) ships with python2.7-config. Patch by Kamil Rytarowski. Thanks! Reviewers: emaste, clayborg Subscribers: brucem, lldb-commits, joerg Differential Revision: http://reviews.llvm.org/D14528 llvm-svn: 253152
* Use library discovery for curses and panelBruce Mitchener2015-11-152-2/+17
| | | | | | | | | | | | | | | | | | | Summary: This approach is tunable with custom paths for curses library. It also detects whether there are requirements met. I make use of it on NetBSD. Patch by Kamil Rytarowski. Thanks! Reviewers: clayborg Subscribers: brucem, joerg, lldb-commits Differential Revision: http://reviews.llvm.org/D14529 llvm-svn: 253151
* Uniquify all the type X delete commands via one common base classEnrico Granata2015-11-142-493/+72
| | | | | | This removes a lot of code, which is A Good Thing(TM) llvm-svn: 253140
* Some cleanup of the type X delete commandEnrico Granata2015-11-141-40/+16
| | | | llvm-svn: 253137
* The existing logic to loop over formatters is very pre-C++11, using void* ↵Enrico Granata2015-11-149-48/+291
| | | | | | | | | batons, and function pointers, and raw memory allocations instead of safer more modern constructs This is a first pass at a cleanup of that code, modernizing the "type X clear" commands, and providing the basic infrastructure I plan to use all over More cleanup will come over the next few days llvm-svn: 253125
* Fixes for uniformity in type clear and delete commandsEnrico Granata2015-11-141-8/+8
| | | | llvm-svn: 253113
* Always initialize expression variables' flags field.Sean Callanan2015-11-141-0/+1
| | | | llvm-svn: 253112
* Add a few useful accessors on the data formatters containersEnrico Granata2015-11-141-0/+38
| | | | llvm-svn: 253111
* Minor cleanup to the type format list commandEnrico Granata2015-11-141-2/+2
| | | | llvm-svn: 253110
* Add a "not_in()" function you can apply to the list type arguments to ↵Jim Ingham2015-11-142-4/+21
| | | | | | | | expectedFailureAll to reverse the sense of the test. llvm-svn: 253106
* Fixed a testcase problem where disassembly would fail for nameless functions.Sean Callanan2015-11-131-1/+2
| | | | llvm-svn: 253101
* Change the test to use the instruction list to get the consecutive addresses ↵Jim Ingham2015-11-131-18/+9
| | | | | | | | to break on. Rerunning was being foiled by ASLR. llvm-svn: 253094
* Upstream some data formatter related cleanupsEnrico Granata2015-11-131-7/+18
| | | | llvm-svn: 253093
* Change the null check to an assert.Zachary Turner2015-11-131-1/+3
| | | | llvm-svn: 253092
* Fix indentationEnrico Granata2015-11-131-21/+21
| | | | llvm-svn: 253089
* Remove debugging code left in by accident.Zachary Turner2015-11-131-2/+0
| | | | llvm-svn: 253088
* Fix indentationEnrico Granata2015-11-131-148/+148
| | | | llvm-svn: 253087
* Add a null check against the ThreadPlanZachary Turner2015-11-131-1/+1
| | | | | | | | I'm seeing some cases where the ThreadPlan is null. It could be a sign of a valid race condition, but at least we shouldn't crash. llvm-svn: 253086
* 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
* Add `PythonExceptionStateTests.cpp` to lldb-gtest target.Zachary Turner2015-11-131-0/+4
| | | | llvm-svn: 253057
* Make PythonDataObjects.h work when LLDB_DISABLE_PYTHON=1Zachary Turner2015-11-132-0/+8
| | | | llvm-svn: 253054
* Re-XFAIL two more tests I missedPavel Labath2015-11-131-0/+2
| | | | llvm-svn: 253042
* Re-add XFAILs to two testsPavel Labath2015-11-132-0/+2
| | | | | | | these decorators were two of many removed in r253026. Unlike others, these tests still seem to be failing... llvm-svn: 253034
* Fix multiple symbol lookup in the same namespaceEugene Leviant2015-11-133-9/+46
| | | | llvm-svn: 253028
* Remove a broken hack from Scalar::ULongLong and fix a testTamas Berghammer2015-11-132-4/+2
| | | | | | | | | | | | | | | | Change Test-rdar-12481949.py to expect GetValueAsUnsigned() to return 0xffffffff if the variable is an int32_t (signed, 4 byte integer) with value of -1. The previous expectation where we expected the value to be 0xffffffffffffffff doesn't make sense as nothing explains why we would treat it as an 8 byte value. This CL also removes a hack from Scalar::ULongLong what was most likely added to get this test passing as it only worked in case the value of the variable is -1 and didn't make any sense even in that case. Differential revision: http://reviews.llvm.org/D14611 llvm-svn: 253027
* Fix to solve Bug 23139 & Bug 23560Abhishek Aggarwal2015-11-1311-18/+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 commit 252963 to work around a bug on some platforms where they don't Jim Ingham2015-11-131-3/+13
| | | | | | | | correctly handle stepping over one breakpoint directly onto another breakpoint. This isn't fixing that bug, but rather just changing 252963 to not use breakpoints if it is only stepping one instruction. llvm-svn: 253008
* Add PythonTestSuite.cpp to project file for lldb-gtest.Jason Molenda2015-11-131-0/+6
| | | | llvm-svn: 253004
* Fix a bug in PythonExceptionState and add unittest coverage.Zachary Turner2015-11-133-0/+66
| | | | | | | I forgot to reset the restore flag when calling member function `Acquire`. The newly added unittest should cover this case. llvm-svn: 253002
* Add PythonExceptionState.cppto the xocde project file.Jason Molenda2015-11-131-0/+8
| | | | llvm-svn: 252998
* Update .gitignore to exclude pyproj folder (used for Python IDE)Zachary Turner2015-11-131-0/+1
| | | | llvm-svn: 252995
* Introduce a `PythonExceptionState` class.Zachary Turner2015-11-136-85/+385
| | | | | | | | | | | | 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
* gtest - Make a `PythonTestSuite` base class for setup / teardown.Zachary Turner2015-11-134-17/+74
| | | | | | | | This allows other potential unit test suites (of which one is forthcoming in a subsequent patch) to re-use the same initialization and teardown of the GIL. llvm-svn: 252993
* Delete `PyObjectToString` and use `PythonObject::Str()`.Zachary Turner2015-11-131-43/+12
| | | | | | | The latter function, from PythonDataObjects, is Python 3 ready and the former was not. llvm-svn: 252992
* Revert "Another little stepping optimization: if any of the source step ↵Ying Chen2015-11-131-9/+2
| | | | | | | | | | commands are running through a range " - Revert because this commit introduce several failures in lldb test suite - http://lab.llvm.org:8011/builders/lldb-x86_64-ubuntu-14.04-cmake/builds/8391 - This reverts commit 78943bb678c2893703ee4e8b41969372740c8a6f. llvm-svn: 252980
* Another little stepping optimization: if any of the source step commands are ↵Jim Ingham2015-11-121-2/+9
| | | | | | | | | | | | | | | | | | | | | running through a range of addresses, and the range has no branches, instead of running to the last instruction and single-stepping over that, run to the first instruction after the end of the range. If there are no branches in the current range, then the bytes right after it have to be in the current function, and have to be instructions not data in code, so this is safe. And it cuts down one extra stepi per source range step. Incidentally, this also works around a bug in the llvm Intel assembler where it treats the "rep" prefix as a separate instruction from the repeated instruction. If that were at the end of a line range, then we would put a trap in place of the repeated instruction, which is undefined behavior. Current processors just ignore the repetition in this case, which changes program behavior. Since there would never be a line range break after the rep prefix, always doing the range stepping to the beginning of the new range avoids this problem. <rdar://problem/23461686> llvm-svn: 252963
* Implement RegisterContext for Mini Dumps.Adrian McCarthy2015-11-1216-307/+304
| | | | | | Differential Revision: http://reviews.llvm.org/D14591 llvm-svn: 252950
* Finish PyCallable -> PythonCallable conversion.Zachary Turner2015-11-121-258/+88
| | | | | | | | | | | | | | This finishes the effort to port python-wrapper.swig code over to using PythonDataObjects. Also included in this patch is the removal of `PyCallable` from `python-wrapper.swig`, as it is no longer used after having been replaced by `PythonCallable` everywhere. There might be additional cleanup as followup patches, but it should be all fairly simple and minor. llvm-svn: 252939
* 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-124-4/+5
| | | | llvm-svn: 252909
* Begin converting uses of PyCallable to PythonCallable.Zachary Turner2015-11-123-228/+206
| | | | | | | | | | | | | | | | 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
* [test] Fix comment.Dawn Perchik2015-11-121-1/+1
| | | | llvm-svn: 252831
* Remove `FindSessionDictionary` and rely on PythonDataObjects.Zachary Turner2015-11-111-190/+140
| | | | | | | | This had been relegated to a simple forwarding function, so just delete it in preparation of migrating all of these functions out of python-wrapper.swig. llvm-svn: 252803
* Convert python-wrapper.swig to use PythonDataObjects.Zachary Turner2015-11-111-99/+43
| | | | | | | | | This only begins to port python-wrapper.swig over. Since this code can be pretty hairy, I plan to do this incrementally over a series of patches, each time removing or converting more code over to the PythonDataObjects code. llvm-svn: 252788
* Create `PythonTuple` and `PythonCallable` wrapper classes.Zachary Turner2015-11-113-17/+454
| | | | | | | | | | | | | | 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
* Python 3 - Use six in our embedded Python glue code.Zachary Turner2015-11-112-1/+3
| | | | llvm-svn: 252767
OpenPOWER on IntegriCloud