summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
...
* Change the way command aliases are stored. Go from a model where a map holds ↵Enrico Granata2016-03-086-186/+143
| | | | | | | | | | | the alias -> underlying command binding and another map holds the alias -> options, to a model where one single map holds the alias -> (all useful data) combination Right now, obviously, this is just the pair of (CommandObjectSP,OptionArgVectorSP), so NFC This is step one of a larger - and tricky - refactoring which will turn command aliases into interesting objects instead of passive storage that the command interpreter does smart things to This refactoring, in turn, will allow us to do interesting things with aliases, such as intelligent and customizable help llvm-svn: 262900
* Change over the broadcaster/listener process to hold shared or weak pointersJim Ingham2016-03-0750-467/+814
| | | | | | | | | | | | | | to each other. This should remove some infrequent teardown crashes when the listener is not the debugger's listener. Processes now need to take a ListenerSP, not a Listener&. This required changing over the Process plugin class constructors to take a ListenerSP, instead of a Listener&. Other than that there should be no functional change. <rdar://problem/24580184> CrashTracer: [USER] Xcode at …ework: lldb_private::Listener::BroadcasterWillDestruct + 39 llvm-svn: 262863
* [LLDB][MIPS] Fix TestDisassembleBreakpointMohit K. Bhakkad2016-03-071-1/+1
| | | | | | | | | | Patch by Nitesh Jain Reviewers: clayborg, jaydeep. Subscribers: bhushan, mohit.bhakkad, sagar, lldb-commits. Differential Revision: http://reviews.llvm.org/D17597 llvm-svn: 262819
* Move SBLanguageRuntime.cpp from the lldb-core group to the LLDBJason Molenda2016-03-071-2/+2
| | | | | | | group to fix a build time issue. <rdar://problem/24287153> llvm-svn: 262816
* Update after r262737 in clang changed the accessor.James Y Knight2016-03-041-1/+1
| | | | llvm-svn: 262739
* Add a log statementPavel Labath2016-03-041-0/+1
| | | | llvm-svn: 262715
* Resumbit "Fetch remote log files from LLGS tests"Pavel Labath2016-03-041-5/+29
| | | | | | | | The problem with the original patch (and my first attempt to fix) was that the value debug monitor flags could persist from one test to another. Resetting the value in the setUp() function fixes the problem. llvm-svn: 262713
* Fix warning in IRExecutionUnit.cppPavel Labath2016-03-041-0/+2
| | | | llvm-svn: 262712
* Add reverse file remapping for breakpoint setTamas Berghammer2016-03-044-4/+52
| | | | | | | | | | | | | | LLDB can remap a source file to a new directory based on the "target.sorce-map" to handle the usecase when the source code moved between the compliation and the debugging. Previously the remapping was only used to display the content of the file. This CL fixes the scenario when a breakpoint is set based on the new an absolute path with adding an inverse remapping step before looking up the breakpoint location. Differential revision: http://reviews.llvm.org/D17848 llvm-svn: 262711
* Revert "Fetch remote log files from LLGS tests"Pavel Labath2016-03-031-29/+5
| | | | | | | Even after the last fixup, there still seems to be one failure left. Revert until I figure out what is going on. llvm-svn: 262622
* Fix OSX breakage caused by r262597Pavel Labath2016-03-031-0/+1
| | | | llvm-svn: 262602
* Fetch remote log files from LLGS testsPavel Labath2016-03-031-5/+28
| | | | | | | | | | | | | | | | | Summary: this enables download of remote log files for llgs and debugserver tests (previously we were just passing the host file name which obviously did not work). Note this also changes the debugserver logging to work only when logging has been requested on the command line, whereas previously it would log unconditionally. I can change it back if anyone is relying on this, but I thought I'd make this consistent. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17798 llvm-svn: 262597
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-036-312/+237
| | | | | | other minor fixes. llvm-svn: 262570
* Don't build source/Plugins/Process/Linux in the Xcode project file.Jason Molenda2016-03-031-38/+0
| | | | | | | | | | These files won't build for ios etc arm builds of lldb and aren't used for macosx native lldb's. http://reviews.llvm.org/D17750 <rdar://problem/24287153> llvm-svn: 262566
* Add SymbolFilePDB to xcode project file to keep itJason Molenda2016-03-021-6/+22
| | | | | | up to date after 4262528. llvm-svn: 262543
* Add support for reading line tables from PDB files.Zachary Turner2016-03-0224-25/+1250
| | | | | | | | | | | | | | | | | | | | | | | | | | PDB is Microsoft's debug information format, and although we cannot yet generate it, we still must be able to consume it. Reason for this is that debug information for system libraries (e.g. kernel32, C Runtime Library, etc) only have debug info in PDB format, so in order to be able to support debugging of system code, we must support it. Currently this code should compile on every platform, but on non-Windows platforms the PDB plugin will return 0 capabilities, meaning that for now PDB is only supported on Windows. This may change in the future, but the API is designed in such a way that this will require few (if any) changes on the LLDB side. In the future we can just flip a switch and everything will work. This patch only adds support for line tables. It does not return information about functions, types, global variables, or anything else. This functionality will be added in a followup patch. Differential Revision: http://reviews.llvm.org/D17363 Reviewed by: Greg Clayton llvm-svn: 262528
* Use shallow clones in build-llvm.py.Stephane Sezer2016-03-021-1/+1
| | | | | | | | | | | | | | Summary: This makes cloning (and therefore the whole build) faster. The checkout step goes from ~4m to ~30s on my host. Reviewers: tfiala Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17425 llvm-svn: 262513
* Upgrade the arm/thumb architecture used by the disassemblerTamas Berghammer2016-03-021-2/+2
| | | | | | | | | Previously we were using thumbv7 and armv8.1a what ended up showing a few undefined instruction when disassembling code. This CL update the architectures used to armv8.2a and thumbv8.2a (newest available) so we display all instruction in the disassambly. llvm-svn: 262482
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-022-220/+196
| | | | | | other minor fixes. llvm-svn: 262450
* Fix Clang-tidy modernize-use-nullptr warnings in some files in source/Core; ↵Eugene Zelenko2016-03-028-284/+229
| | | | | | other minor fixes. llvm-svn: 262441
* Fix bug with function resolution when using IR InterpreterTed Woodward2016-03-014-28/+45
| | | | | | | | | | | | Summary: Recent changes to the expression parser broke function name resolution when using the IR interpreter instead of JIT. This patch changes the IRMemoryMap ivar in InterpreterStackFrame to an IRExecutionUnitSP (which is a subclass), allowing InterpreterStackFrame::ResolveConstantValue() to call FindSymbol() on the name of the Value when it's a FunctionVal. It also changes IRExecutionUnit::FindInSymbols() to call GetFileAddress() on the symball if ResolveCallableAddress() fails and there is no valid Process. Reviewers: spyffe Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17745 llvm-svn: 262407
* DWARFExpression: Don't resolve load address in DW_OP_plusTamas Berghammer2016-03-011-3/+3
| | | | | | | | | If we have a TargetLoadAddress on the top of the DWARF stack then a DW_OP_plus or a DW_OP_plus_ucons sholudn't dereference (resolve) it and then add the value to the dereferenced value but it should offset the load address by the specified constant. llvm-svn: 262339
* Slightly improve logging in LLGS testsPavel Labath2016-03-011-1/+1
| | | | | | we're sometimes getting an exception here, and I want to see why... llvm-svn: 262333
* Fix warning in NSDictionary.cppPavel Labath2016-03-011-1/+1
| | | | llvm-svn: 262322
* Update the on-device arm specific code to match the API changesJason Molenda2016-03-011-5/+5
| | | | | | | that happened in other parts of this file so it builds cleanly for arm again. llvm-svn: 262300
* Fix MSVC build failure in source/Target/Process.cpp.Eugene Zelenko2016-03-011-1/+1
| | | | | | Will be good idea to introduce macro/constexpr for NULL thread_result_t. llvm-svn: 262287
* Fix Clang-tidy modernize-use-nullptr warnings in some files in ↵Eugene Zelenko2016-03-011-194/+182
| | | | | | source/Target/Process.cpp; other minor fixes. llvm-svn: 262281
* When 'help' cannot find a command, produce additional help text that also ↵Enrico Granata2016-02-295-19/+93
| | | | | | | | | | | | | | | | | | points the user to the apropos and type lookup commands This is useful in cases such as, e.g. (lldb) help NSString (the user meant type lookup) or (lldb) help kill (the user is looking for process kill) Fixes rdar://24868537 llvm-svn: 262271
* Fix a typo in my previous commit. This would cause mutable NSArrays to show ↵Enrico Granata2016-02-291-1/+1
| | | | | | up empty llvm-svn: 262260
* Change the user-visible name for the argument type language to source-languageEnrico Granata2016-02-291-1/+1
| | | | | | | | This makes it so that help language provides help on the language command and help source-language provides the list of source languages one can pass as an option Fixes rdar://24869942 llvm-svn: 262259
* NFC: Refactor ProcessWinMiniDump to use a more traditional pimpl idiom.Adrian McCarthy2016-02-292-274/+309
| | | | | | | | This is a mechanical refactor. There should be no functional changes in this commit. Instead of encapsulating just the Windows-specific data, ProcessWinMiniDump now uses a private implementation class. This reduces indirections (in the source). It makes it easier to add private helper methods without touching the header and allows them to have platform-specific types as parameters. The only trick was that the pimpl class needed a back pointer in order to call a couple methods. llvm-svn: 262256
* Fix TestInlines.py on WindowsAdrian McCarthy2016-02-294-8/+8
| | | | | | | | | | | | | | The inlining semantics for C and C++ are different, which affects the test's expectation of the number of times the function should appear in the binary. In the case of this test, C semantics means there should be three instances of inner_inline, while C++ semantics means there should be only two. On Windows, clang uses C++ inline semantics even for C code, and there doesn't seem to be a combination of compiler flags to avoid this. So, for consistency, I've recast the test to use C++ everywhere. Since the test resided under lang/c, it seemed appropriate to move it to lang/cpp. This does not address the other XFAIL for this test on Linux/gcc. See https://llvm.org/bugs/show_bug.cgi?id=26710 Differential Revision: http://reviews.llvm.org/D17650 llvm-svn: 262255
* Add an LLDB data formatter for single-element NSArray and NSDictionary Cocoa ↵Enrico Granata2016-02-2913-42/+300
| | | | | | | | containers Fixes rdar://23715118 llvm-svn: 262254
* Fix Clang-tidy modernize-use-nullptr warnings in source/Plugins/Language; ↵Eugene Zelenko2016-02-2914-273/+248
| | | | | | other minor fixes. llvm-svn: 262246
* Revert a part of "Add/Improve complex, vector, aggregate types handling for ↵Pavel Labath2016-02-291-3/+3
| | | | | | | | | | | | SysV ARM (hard/soft) ABI." This partially reverts commit r262218. The commit added additional checks to a test case. The test case is too big so it's not feasible to XFAIL it completely. Suggest to implement the checks as a separate test case, which can then be XFAILed more surgically. llvm-svn: 262223
* Add/Improve complex, vector, aggregate types handling for SysV ARM ↵Omair Javaid2016-02-292-61/+125
| | | | | | | | | | (hard/soft) ABI. For details see: Differential revision: http://reviews.llvm.org/D17708 llvm-svn: 262218
* Fix compiler warnings in the java codePavel Labath2016-02-292-4/+2
| | | | llvm-svn: 262214
* Revert "Fix bug with register values byte order in expression evaluation."Todd Fiala2016-02-271-10/+3
| | | | | | | | | This reverts commit r262041, which caused asserts starting yesterday on the OS X testbot. See details in: https://llvm.org/bugs/show_bug.cgi?id=26758 llvm-svn: 262156
* Make LLDB safer to use with respect to the global destructor chain.Greg Clayton2016-02-263-12/+15
| | | | llvm-svn: 262090
* Fix Clang-tidy modernize-use-nullptr warnings in remaining files in ↵Eugene Zelenko2016-02-267-477/+447
| | | | | | source/Plugins/ABI; other minor fixes. llvm-svn: 262082
* Register value is not necessarily scalar.Chaoren Lin2016-02-261-261/+262
| | | | | | | | | | Reviewers: aidan.dodds, mamai Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D17658 llvm-svn: 262081
* Make sure to #include <atomic> for the std::atomic<bool> that was recently ↵Greg Clayton2016-02-261-0/+1
| | | | | | added. llvm-svn: 262055
* Make sure the Target, Process and Thread GetGlobalProperties() static ↵Greg Clayton2016-02-263-8/+18
| | | | | | | | methods are thread safe. <rdar://problem/22595283> llvm-svn: 262053
* SymbolFileDWARFDebugMap::FindTypes didn't obey the max_matches flag, Jim Ingham2016-02-261-1/+4
| | | | | | | but kept looking through .o files even after it had found as many matches as were requested. llvm-svn: 262051
* remove unused local string in IRForTarget.cppAidan Dodds2016-02-261-2/+0
| | | | | | | | Committed on behalf of: ldrumm <luke.drummond@codeplay.com> Differential revision: http://reviews.llvm.org/D16412 llvm-svn: 262043
* Fix bug with register values byte order in expression evaluation.Aidan Dodds2016-02-261-3/+9
| | | | | | | | | | The evaluation of expressions containing register values was broken for targets for which endianness differs from host. Committed on behalf of: mamai <marianne.mailhot.sarrasin@gmail.com> Differential revision: http://reviews.llvm.org/D17167 llvm-svn: 262041
* The IOHandlerProcessSTDIO is the _only_ IOHandler that gets pushed and ↵Greg Clayton2016-02-261-3/+22
| | | | | | | | | | | | | | popped from functions that are run due to something that is NOT input from the user. All other IOHandler objects result from input from the user. An issue rose up where if a command caused the process to resume and stop and process state changed, where state changed Event objects were broadcast, it would cause the IOHandlerProcessSTDIO to have its IOHandlerProcessSTDIO::Cancel() function called. This used to always write a byte to the control pipe (IOHandlerProcessSTDIO::m_pipe) even if the IOHandlerProcessSTDIO::Run() was never called. What would happen is: (lldb) command_that_steps_process_thousands_of_times As the "command_that_steps_process_thousands_of_times" could be a python command that resumed the process thousands of times and in doing so the IOHandlerProcessSTDIO would get pushed when the process resumed, and popped when it stoppped, causing the call to IOHandlerProcessSTDIO::Cancel(). Since the IOHandler thread is currently in IOHandlerEditline::Run() for the command interpreter handling the "command_that_steps_process_thousands_of_times" command, IOHandlerProcessSTDIO::Run() would never get called, even though the IOHandlerProcessSTDIO is on the top of the stack. This caused the command pipe to keep getting 1 bytes written each time the IOHandlerProcessSTDIO::Cancel() was called and eventually we will deadlock since the write buffer is full. The fix here is to make sure we are in IOHandlerProcessSTDIO::Run() before we write anything to the command pipe, and just call SetIsDone(true) if we are not. <rdar://problem/22361364> llvm-svn: 262040
* Add new java plugin files to the xcode projectTamas Berghammer2016-02-261-0/+50
| | | | llvm-svn: 262028
* Revert part of rL262014 as it caused issues on gcc-i386Tamas Berghammer2016-02-261-4/+0
| | | | llvm-svn: 262023
* Add mips32 software breakpoints into ↵Aidan Dodds2016-02-261-0/+2
| | | | | | | | | | platform::GetSoftwareBreakpointTrapOpcode(). The software breakpoint definitions for mips32 should have been included in my recent patch that moved the software breakpoint definitions into the base platform class. llvm-svn: 262021
OpenPOWER on IntegriCloud