summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
...
* Don't pack the structs of the jit debug interfaceTamas Berghammer2015-12-221-2/+0
| | | | | | | | | None of the documentation mentions that the entries are packed structs and also none of the other implementation I found pack them. Differential revision: http://reviews.llvm.org/D15715 llvm-svn: 256244
* No need for a custom function here; just use what C providesEnrico Granata2015-12-221-29/+1
| | | | llvm-svn: 256223
* Reduce code duplicationEnrico Granata2015-12-211-64/+16
| | | | llvm-svn: 256212
* Fix emulation of the thumb str instructionTamas Berghammer2015-12-211-2/+10
| | | | llvm-svn: 256147
* Add support for seeing through clang::AutoType in ClangASTContextEnrico Granata2015-12-181-10/+160
| | | | | | | | This allows LLDB to deal correctly with expression result variables declared via the C++11 'auto' keyword rdar://problem/23960490 llvm-svn: 256051
* Turns out, many people define structs named Point that do not share the same ↵Enrico Granata2015-12-181-1/+1
| | | | | | names that this formatter uses for fields; use the {} syntax to make it so that a failure to parse the summary doesn't cause the entire printout to fail llvm-svn: 256042
* Add API to support retrieving the formatters category for a specific languageEnrico Granata2015-12-181-0/+10
| | | | llvm-svn: 256033
* Fix the emulation of arm strd instructionTamas Berghammer2015-12-181-2/+5
| | | | | | | The incorrect instruction emulation caused issues in the stack unwinding code when strd was used to push 2 register to the stack with writeback. llvm-svn: 256000
* Fix formatting for last commit.Jim Ingham2015-12-181-3/+3
| | | | llvm-svn: 255973
* Make the Language print the description of the Exception Breakpoint ↵Jim Ingham2015-12-184-6/+24
| | | | | | | | | | | resolver. Also have the breakpoint description print the precondition description if one exists. No behavior change. <rdar://problem/22885189> llvm-svn: 255972
* The lldb side changes to go along with r255711 where a newJason Molenda2015-12-186-0/+144
| | | | | | | | | | | | | | | | | | | | | | "thread-pcs" key is added to the T (questionmark) packet in gdb-remote protocol so that lldb doesn't need to query the pc values of every thread before it resumes a process. The only odd part with this is that I'm sending the pc values in big endian order, so we need to know the endianness of the remote process before we can use them. All other register values in gdb-remote protocol are sent in native-endian format so this requirement doesn't exist. This addition is a performance enhancement -- lldb will fall back to querying the pc of each thread individually if it needs to -- so when we don't have the byte order for the process yet, we don't use these values. Practically speaking, the only way I've been able to elicit this condition is for the first T packet when we attach to a process. <rdar://problem/21963031> llvm-svn: 255942
* [RenderScript] Support all RS allocation types Ewan Crawford2015-12-171-18/+100
| | | | | | | | Currently we can just inspect the details of the most common allocation types. This patch allows us to support all the types defined by the RS runtime in its `RsDataType` enum. Including handlers, matrices and packed graphical data. llvm-svn: 255904
* Inspect DW_AT_const_value global static const variablesEwan Crawford2015-12-173-4/+9
| | | | | | | | | | | | This patch adds support for printing global static const variables which are given a DW_AT_const_value DWARF tag by clang. Fix for bug https://llvm.org/bugs/show_bug.cgi?id=25653 Reviewers: clayborg, tberghammer Subscribers: emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D15576 llvm-svn: 255887
* Set the minimum stack size for private state thread to 8MBKate Stone2015-12-171-1/+1
| | | | | | Demangling complex Boost symbols can exhaust the default stack size. In practice, any thread that calls into LLDB functionality that touches symbols runs this risk. Guaranteeing a reasonable minimum for our own private state thread addressees some known scenarios debugging processes that make use of cpp-netlib. llvm-svn: 255868
* Don't demangle a name when Mangled::GetName() is called with ePreferMangled. ↵Greg Clayton2015-12-171-6/+4
| | | | | | Only demangle if this isn't the the value for the "preference" argument indicating the user wants the demangled name. This will stop a lot of symbols from being demangled when parsing the symbol table in ObjectFileMachO. llvm-svn: 255864
* Don't strip types of their typedefs when getting function types.Greg Clayton2015-12-171-2/+2
| | | | llvm-svn: 255863
* Rework breakpoint language filtering to use the symbol context's language.Dawn Perchik2015-12-165-55/+102
| | | | | | | | | | | | | | | | This patch reworks the breakpoint filter-by-language patch to use the symbol context instead of trying to guess the language solely from the symbol's name. This has the advantage that symbols compiled with debug info will have their actual language known. Symbols without debug info will still do the same "guess"ing because Symbol::GetLanguage() is implemented using Mangled::GuessLanguage(). The recognition of ObjC names was merged into Mangled::GuessLanguage. Reviewed by: jingham, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15326 llvm-svn: 255808
* Read macro info from .debug_macro section and use it for expression evaluation.Siva Chandra2015-12-1618-1/+537
| | | | | | | | | | | | | | | | | Summary: DWARF 5 proposes a reinvented .debug_macro section. This change follows that spec. Currently, only GCC produces the .debug_macro section and hence the added test is annottated with expectedFailureClang. Reviewers: spyffe, clayborg, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D15437 llvm-svn: 255729
* First pass at LLDBRPC.frameworkGreg Clayton2015-12-151-0/+7
| | | | llvm-svn: 255697
* 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
OpenPOWER on IntegriCloud