summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* Enable the 'type X list' formatters commands to list formatters in language ↵Enrico Granata2015-12-151-34/+56
| | | | | | categories llvm-svn: 255687
* [LLDB][MIPS] Added support for MIPS1, MIPS2, MIPS3, MIPS4 and MIPS5 ↵Sagar Thakur2015-12-151-0/+5
| | | | | | | | | | | | | instruction sets Patch by Nitesh Jain. Summary: This Patch will allowed LLDB to debug respective instruction sets binaries. Reviewers: jaydeep, clayborg Subscribers: lldb-commits, mohit.bhakkad, sagar, bhushan Differential: http://reviews.llvm.org/D15487 llvm-svn: 255619
* Fix a bug where language categories would hold on to their caches even after ↵Enrico Granata2015-12-152-4/+22
| | | | | | changes llvm-svn: 255603
* Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr ↵Eugene Zelenko2015-12-1517-376/+213
| | | | | | | | warnings in some files in source/Target/. Simplify smart pointers checks in conditions. Other minor fixes. llvm-svn: 255598
* Welcome to NetBSD signalsKamil Rytarowski2015-12-154-1/+69
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Signals 1-32 are matching the default UNIX platform. There are platform specific ones above 32. From the `/usr/include/sys/signal.h` header: ``` #define SIGPWR 32 /* power fail/restart (not reset when caught) */ #ifdef _KERNEL #define SIGRTMIN 33 /* Kernel only; not exposed to userland yet */ #define SIGRTMAX 63 /* Kernel only; not exposed to userland yet */ #endif ``` Reviewers: emaste, joerg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15482 llvm-svn: 255592
* When constructing an address range to "step" or "next" through,Jason Molenda2015-12-155-8/+82
| | | | | | | | | | | | | | find the largest address range (possibly combining multiple LineEntry's for this line number) that is contiguous. This allows lldb's fast-step stepping algorithm to potentially run for a longer address range than if we have to stop at every LineEntry indicating a subexpression in the source line. http://reviews.llvm.org/D15407 <rdar://problem/23270882> llvm-svn: 255590
* [Editline] Redesign automatic indentation fix command for robustnessKate Stone2015-12-141-20/+33
| | | | | | The FixIndentationCommand implementation has proven to be fragile across various libedit iterations. This patch reworks the command to use the same basic strategy as when moving between lines in a multi-line edit session: when indentation changes are required, exit line editing completely and restart with amended content. This approach won't be susceptible to subtle behavior differences libedit has introduced over time. llvm-svn: 255548
* Add failure paths to a few JSONNumber membersOmair Javaid2015-12-141-1/+5
| | | | | | Differential revision: http://reviews.llvm.org/D15355 llvm-svn: 255499
* Fix scope-based lookup when more than one function is found.Dawn Perchik2015-12-122-0/+239
| | | | | | | | | | | | | | | | | | | | | | | | When multiple functions are found by name, lldb removes duplicate entries of functions with the same type, so the first function in the symbol context list is chosen, even if it isn't in scope. This patch uses the declaration context of the execution context to select the function which is in scope. This fixes cases like the following: int func(); namespace ns { int func(); void here() { // Run to BP here and eval 'p func()'; // lldb used to find ::func(), now finds ns::func(). } } Reviewed by: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15312 llvm-svn: 255439
* Fix the L1 cache search in MemoryCache::Read to use the Jason Molenda2015-12-121-17/+9
| | | | | | | | | | | | | | | | | | | | | stl upper_bound method instead of lower_bound - we were failing to find some cached data in the L1 cache resulting in extra memory read packets while stepping. The bug with the existing code looked like this: If the L1 cache has 8 bytes at address 0x1000 and 8 bytes at address 0x2000 and we are searching for 4 bytes at 0x2004, the use of lower_bound would return the end() of the container and so we would incorrectly treat the memory as uncached. (the L1 cache is memory seeded from debugserver in the T aka questionmark packet, where debugserver will send up the stack memory that likely contains the caller's stack pointer and frame pointer values.) <rdar://problem/23869227> llvm-svn: 255421
* Remove unused mips typedefs.Oleksiy Vyalov2015-12-121-3/+1
| | | | llvm-svn: 255419
* Remove hardcoded registers from Hexagon ABITed Woodward2015-12-111-10/+21
| | | | | | | | | | | | Summary: The Hexagon ABI plugin uses hardcoded registers when setting up function calls. This is OK for the Hexagon simulator, but the register numbers are different on the gdbserver running on hardware. Change the hardcoded registers to LLDB generic registers. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15457 llvm-svn: 255374
* Fix Clang-tidy modernize-use-nullptr and readability-simplify-boolean-expr ↵Eugene Zelenko2015-12-111-191/+177
| | | | | | | | warnings in source/Target/Target.cpp. Simplify smart pointers checks in conditions. llvm-svn: 255364
* DisassemblerLLVMC now gets the disassembler comments for an instructionSean Callanan2015-12-112-19/+29
| | | | | | | and appends them to our list of comments (which can additionally include things like decoded addresses). llvm-svn: 255358
* [RenderScript] Support for amd64 RS hooksEwan Crawford2015-12-111-9/+54
| | | | | | | Adds support for reading a maximum of six integer arguments from a renderscript hook on X86_64. Author: Luke Drummond <luke.drummond@codeplay.com> llvm-svn: 255338
* Add Hexagon ABI to System InitializationTed Woodward2015-12-101-0/+3
| | | | | | | | | | | | Summary: When the Hexagon ABI was added, it was inadvertently left out of initialization/termination. This patch adds it. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15347 llvm-svn: 255268
* Add modules downloaded by ModuleCache to the global ModuleListTamas Berghammer2015-12-101-5/+11
| | | | | | | | | | | | | Adding the modules to the global module list eleminate issues in the case when a module is unloaded from the target but some object (e.g. breakpoint) still referencing them with weak pointers. It also speeds up the case when we load, unload, load the same shared library because the global module cache will keep the parsed debug info around between the 2 load (this scenario happens for some code on android). Differential revision: http://reviews.llvm.org/D15415 llvm-svn: 255260
* [RenderScript] Refactor condition deciding when to JIT RS runtimeEwan Crawford2015-12-101-9/+19
| | | | | | | Patch creates a member function that decides when to JIT all the details about an allocation. By checking for zero pointers we can avoid the situation where we store uninitialised data from previously inspecting the allocation during creation. llvm-svn: 255238
* Differential Revision: http://reviews.llvm.org/D15333Aidan Dodds2015-12-101-9/+7
| | | | llvm-svn: 255237
* [RenderScript] Add hook for destroyed allocationsEwan Crawford2015-12-092-1/+46
| | | | | | | New hook for rsdAllocationDestroy() which is called when allocations are deleted. LLDB should be aware of this so we can remove the allocation from our internal list. llvm-svn: 255121
* [LLDB][MIPS] Adding call to IsMSAAvailable() while creating ↵Sagar Thakur2015-12-092-7/+11
| | | | | | | | RegisterInfoInterface This patch will fix the test case test_p_returns_correct_data_size_for_each_qRegisterInfo_attach_llgs_* of TestLldbGdbServer.py on mips. The test fails because we were sending RegisterInfo for msa registers to client even when msa registers are not available. With this commit server will send E45(end of resigters) response if msa registers are not available. llvm-svn: 255108
* When printing warnings, the repeat_key should beSean Callanan2015-12-091-1/+1
| | | | | | | const void * because the data is never accessed, the pointer is the only useful piece of data. llvm-svn: 255090
* Fix DoReadMemory for Windows mini dumps.Adrian McCarthy2015-12-091-1/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D15359 llvm-svn: 255083
* Remove default case in switch which covers all enumeration valuesEd Maste2015-12-081-1/+0
| | | | | | | | | | This also conveniently eliminates another warning from the unintentional use of a trigraph: warning: trigraph converted to '[' character [-Wtrigraphs] default: printf("???(%u)", type); ^ llvm-svn: 255049
* Change DeclContextFindDeclByName to return a vector of CompilerDecl objects. ↵Greg Clayton2015-12-083-11/+15
| | | | | | Opaque pointers should only be used for the decl context object. Also made a default implementation so that GoASTContext doesn't need to override DeclContextFindDeclByName. llvm-svn: 255038
* Fix MSVC build after rL255016Tamas Berghammer2015-12-081-2/+4
| | | | llvm-svn: 255017
* Modify "platform connect" to connect to processes as wellTamas Berghammer2015-12-0817-132/+413
| | | | | | | | | | | | | | | | | | | | | | | | The standard remote debugging workflow with gdb is to start the application on the remote host under gdbserver (e.g.: gdbserver :5039 a.out) and then connect to it with gdb. The same workflow is supported by debugserver/lldb-gdbserver with a very similar syntax but to access all features of lldb we need to be connected also to an lldb-platform instance running on the target. Before this change this had to be done manually with starting a separate lldb-platform on the target machine and then connecting to it with lldb before connecting to the process. This change modifies the behavior of "platform connect" with automatically connecting to the process instance if it was started by the remote platform. With this command replacing gdbserver in a gdb based worflow is usually as simple as replacing the command to execute gdbserver with executing lldb-platform. Differential revision: http://reviews.llvm.org/D14952 llvm-svn: 255016
* Add a new option to Platform::LoadImage to install the imageTamas Berghammer2015-12-085-17/+154
| | | | | | | | | | | | | | | | | | | | | This change introduce 3 different working mode for Platform::LoadImage depending on the file specs specified. * If only a remote file is specified then the remote file is loaded on the target (same behavior as before) * If only a local file is specified then the local file is installed to the current working directory and then loaded from there. * If both local and remote file is specified then the local file is installed to the specified location and then loaded from there. The same options are exposed on the SB API with a new method LoadImage method while the old signature presers its meaning. On the command line the installation of the shared library can be specified with the "--install" option of "process load". Differential revision: http://reviews.llvm.org/D15152 llvm-svn: 255014
* [LLDB][MIPS] Handle PIC calling convention for MIPS32Bhushan D. Attarde2015-12-081-6/+37
| | | | | | | | | | | | SUMMARY: - PrepareTrivialCall() to setup register r25 with the address of function to be called. - RegisterIsCalleeSaved() to use name of a register instead of its byte_offset. Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, jaydeep, lldb-commits Differential Revision: http://reviews.llvm.org/D15273 llvm-svn: 255005
* Trying to submit 254476 one more time. This implement -gmodule debugging ↵Greg Clayton2015-12-0814-171/+1216
| | | | | | | | | | | | | | support. It was previously reverted due to issues that showed up only on linux. I was able to reproduce these issues and fix the underlying cause. So this is the same patch as 254476 with the following two fixes: - Fix not trying to complete classes that don't have external sources - Fix ClangASTSource::CompleteType() to check the decl context of types that it finds by basename to ensure we don't complete a type "S" with a type like "std::S". Before this fix ClangASTSource::CompleteType() would accept _any_ type that had a matching basename and copy it into the other type. <rdar://problem/22992457> llvm-svn: 254980
* Fix watchpoint check to use watchpoint rangesTed Woodward2015-12-071-1/+6
| | | | | | | | | | | | Summary: Watchpoints, unlike breakpoints, have an address range. This patch changes WatchpointList::FindByAddress() to match on any address in the watchpoint range, instead of only matching on the watchpoint's base address. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14932 llvm-svn: 254931
* [RenderScript] Mips64 allocations workaroundEwan Crawford2015-12-072-90/+180
| | | | | | | | | Workaround for Mips64 compiler bug by using function pointers to call functions for expression evaluation. This avoids the emission of the JAL instruction, which can only jump within a particular range of the PC. Author: Dean De Leo, dean@codeplay.com llvm-svn: 254910
* Recommit "Fix race during process interruption"Pavel Labath2015-12-071-113/+100
| | | | | | | | This is a resubmit of r254403, see that commit's message for context. This fixes an issue in the original commit, where we would incorrectly interrupt the process if the interrupt request came just as we were about to send the stopped event to the public. llvm-svn: 254902
* Plug-in PlatformNetBSD initializer and terminatorKamil Rytarowski2015-12-051-0/+2
| | | | | | | | | | | | Summary: Other platform parts needed to build this code are already merged. Reviewers: emaste, clayborg Subscribers: joerg, lldb-commits Differential Revision: http://reviews.llvm.org/D15066 llvm-svn: 254865
* Python 3 - Fix script import --allow-reload.Zachary Turner2015-12-041-3/+8
| | | | | | | Differential Revision: http://reviews.llvm.org/D15209 Reviewed By: Todd Fiala llvm-svn: 254791
* Reduce memory traffic in ConstString in the std::map formatterEnrico Granata2015-12-041-6/+14
| | | | llvm-svn: 254787
* Do the same iterator caching optimization for std::mapEnrico Granata2015-12-041-48/+64
| | | | | | This brings the timings down for 1500 elements from 166 to 2 seconds on my machine - if I can math correctly, that is a 98% improvement llvm-svn: 254781
* Implement GetMemoryRegionInfo for mini dumps.Adrian McCarthy2015-12-046-13/+98
| | | | | | Differential Revision: http://reviews.llvm.org/D15218 llvm-svn: 254780
* Fix typo in a commentKamil Rytarowski2015-12-041-1/+1
| | | | llvm-svn: 254768
* Cache the incremental iterators as you traverse the list, so that you don't ↵Enrico Granata2015-12-041-64/+79
| | | | | | | | | | have to keep recomputing them If memory turns out to be a problem, which I don't think it will in practice because all these ValueObjects, we'd be keeping alive anyway, I can always resort to caching the farthest-most iterator only This gains us an order of magnitude in my benchmark, cutting the time to traverse a 1500-elements list from 22 seconds down to 2 llvm-svn: 254762
* Improve the std::list data formatter to not need to calculate indices for ↵Enrico Granata2015-12-041-3/+6
| | | | | | | | every loop iteration This saves about 5 seconds on a 1500 elements list from my local estimates llvm-svn: 254757
* Fix breakpoint language filtering for other C variants (like C99) and Pascal.Dawn Perchik2015-12-042-10/+22
| | | | | | | | | | | | | | | This patch fixes setting breakpoints on symbol for variants of C and Pascal where the language is "unknown" within the filter-by-language process added in r252356. It also renames GetLanguageForSymbolByName to GuessLanguageForSymbolByName and adds comments explaining the pitfalls of the flawed assumption that the language can be determined solely from the name and target. Reviewed by: jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15175 llvm-svn: 254753
* Fill in the generic register kind if in AugmentRegisterInfoViaABI if it is ↵Greg Clayton2015-12-041-4/+9
| | | | | | available. llvm-svn: 254743
* Improve the functionality of JSONNumberTamas Berghammer2015-12-042-25/+60
| | | | | | | | | * Add support for representing signed integers * Add new constructors taking any signed or unsigned integer types Differential revision: http://reviews.llvm.org/D15187 llvm-svn: 254715
* Add a space char so step logging doesn't print things likeJason Molenda2015-12-041-1/+1
| | | | | | "Stepping out from a.out`bar at a.c:3returning to frame" llvm-svn: 254698
* Add a newline at the end of this fileEnrico Granata2015-12-031-1/+1
| | | | llvm-svn: 254666
* Fix in-memory section loading for JIT-ed code.Oleksiy Vyalov2015-12-031-0/+1
| | | | | | http://reviews.llvm.org/D15172 llvm-svn: 254638
* Remove some duplicated code from PlatformPOSIX/AndroidTamas Berghammer2015-12-034-98/+27
| | | | | | | | | | The code was duplicated to handle the custom symbol name for functions in libdl.so for android. This change modify the way we handle the issue to eliminate a lot of duplicated code. Differential revision: http://reviews.llvm.org/D15183 llvm-svn: 254608
* [LLDB][MIPS] Using enum instead of a constant to fetch PC and CAUSE registers.Jaydeep Patil2015-12-031-2/+2
| | | | | | | SUMMARY: Using enum instead of a constant to fetch PC and CAUSE registers. llvm-svn: 254590
* [LLDB] Switch to assembly view if source is movedMohit K. Bhakkad2015-12-032-8/+18
| | | | | | | | Reviewers: clayborg, jingham, jasonmolenda. Subscribers: jaydeep, bhushan, sagar, nitesh.jain,lldb-commits. Differential Revision: http://reviews.llvm.org/D12877 llvm-svn: 254588
OpenPOWER on IntegriCloud