summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* If the filename specified by plugin.process.gdb-remote.target-definition-file,Jason Molenda2015-08-201-0/+5
| | | | | | doesn't exist, see if it needs tilde expansion before we ignore it completely. llvm-svn: 245537
* When the target definition is unparseable, print an error messageJason Molenda2015-08-201-0/+7
| | | | | | | | | to the user. e.g. specified via the plugin.process.gdb-remote.target-definition-file setting. Currently we silently ignore the target definition if there is a parse error. llvm-svn: 245536
* Fix evaluation of global operators in C++Paul Herman2015-08-191-4/+6
| | | | llvm-svn: 245508
* Read exception records from Windows mini dumpAdrian McCarthy2015-08-193-25/+86
| | | | | | Differential Revision: http://reviews.llvm.org/D12126 llvm-svn: 245495
* On Linux, clear the signal mask of the launched inferiorPavel Labath2015-08-191-1/+11
| | | | | | | | | | | | | | | | | | | Summary: Due to fork()/execve(), the launched inferior inherits the signal mask of its parent (lldb-server). But because lldb-server modifies its signal mask (It blocks SIGCHLD, for example), the inferior starts with some signals being initially blocked. One consequence is that TestCallThatRestarts.ExprCommandThatRestartsTestCase (test/expression_command/call-restarts) fails because sigchld_handler() in lotta-signals.c is not called, due to the SIGCHLD signal being blocked. To prevent the signal masking done by lldb-server from affecting the created inferior, the signal mask of the inferior is now cleared before the execve(). Patch by: Yacine Belkadi Reviewers: ovyalov, labath Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12138 llvm-svn: 245436
* Fix lldb-server arm-linux-g++ buildOmair Javaid2015-08-191-1/+1
| | | | llvm-svn: 245428
* Update to r245397.Chaoren Lin2015-08-191-2/+7
| | | | | | | `ast_transformer` could be null, in which case we should initialize `m_code_generator` with the ASTContext. llvm-svn: 245398
* Fix LLDB after Clang r245346.Richard Smith2015-08-191-0/+1
| | | | | | | | The right thing to do here would be to give the ASTConsumer to the CompilerInstance so it can set things up for us, but we can't do that because we don't own it. So instead just initialize it ourselves. llvm-svn: 245397
* Fix resolution conflict between global and class static variables in C++Paul Herman2015-08-184-11/+22
| | | | llvm-svn: 245381
* More abstraction to get almost all clang specific DWARF parsing code into ↵Greg Clayton2015-08-189-360/+123
| | | | | | ClangASTContext. llvm-svn: 245376
* Fix TestArrayTypes on Windows.Zachary Turner2015-08-181-0/+2
| | | | | | | | | | Whether or not frames print their tid in hex or decimal is apparently hardcoded to depend on the operating system. For now a comment was added that this should be changed to a more sane check (for example a setting), and the OS check is updated to do the right thing for Windows. llvm-svn: 245371
* [ValueObjectSynthetic and ValueObjectDynamicValue] Override GetDeclarationSiva Chandra2015-08-182-0/+18
| | | | | | | | | | | | | | Summary: Returns the declaration of the parent (non-synthetic or static) value. Reviewers: granata.enrico, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D12092 llvm-svn: 245319
* Fix Clang-tidy misc-use-override warnings in some files in ↵Pavel Labath2015-08-181-4/+4
| | | | | | | | | | include/lldb/Core, unify closing inclusion guards patch by Eugene Zelenko Differential Revision: http://reviews.llvm.org/D11695 llvm-svn: 245275
* Fix AArch64 watchpoint exception handlingOmair Javaid2015-08-181-1/+3
| | | | | | http://reviews.llvm.org/D11987 llvm-svn: 245273
* [LLGS] Avoid misrepresenting log lines as inferior outputPavel Labath2015-08-182-2/+5
| | | | | | | | | | | | | | | | Summary: in case we are logging to stdout, any log lines from the forked child can be misconstrued to be inferior output. To avoid this, we disable all logging immediately after forking. I also fix the implementatoion of DisableAllLogChannels, which was a no-op before this commit. Reviewers: clayborg, ovyalov Subscribers: dean, lldb-commits Differential Revision: http://reviews.llvm.org/D12083 llvm-svn: 245272
* Remove unintentional ;'s.Jason Molenda2015-08-181-2/+2
| | | | llvm-svn: 245261
* Make sure to save the types we parse in our SymbolFile's type list so they ↵Greg Clayton2015-08-171-3/+11
| | | | | | don't get deleted. llvm-svn: 245237
* Revert "[LLDB] Use llvm::APInt and llvm::APFloat in Scalar and RegisterValue"Pavel Labath2015-08-173-1790/+1296
| | | | | | Reverting as this commit causes an infinite loop. llvm-svn: 245222
* [LLDB][MIPS] Fix offsets of all register sets and add MSA regset and FRE=1 ↵Sagar Thakur2015-08-1716-345/+1172
| | | | | | | | | | | | | | | | mode support This patch : - Fixes offsets of all register sets for Mips. - Adds MSA register set and FRE=1 mode support for FP register set. - Separates lldb register numbers and register infos of freebsd/mips64 from linux/mips64. - Re-orders the register numbers of all kinds for mips to be consistent with freebsd order of register numbers. Reviewers: jaydeep, clayborg, jasonmolenda, ovyalov, emaste Subscribers: tberghammer, ovyalov, emaste, mohit.bhakkad, nitesh.jain, bhushan Differential: http://reviews.llvm.org/D10919 llvm-svn: 245217
* [LLDB] Use llvm::APInt and llvm::APFloat in Scalar and RegisterValueSagar Thakur2015-08-173-1296/+1790
| | | | | | | | | Eliminated ENABLE_128_BIT_SUPPORT and union ValueData from Scalar.cpp and use llvm::APInt and llvm::APFloat for all integer and floating point types. Also used Scalar in RegisterValue.cpp Reviewers: jaydeep, clayborg, jasonmolenda, ovyalov, emaste Subscribers: tberghammer, ovyalov, emaste, mohit.bhakkad, nitesh.jain, bhushan Differential: http://reviews.llvm.org/D10919 llvm-svn: 245216
* Try to fix the lldb build on Visual C++.Yaron Keren2015-08-161-2/+2
| | | | llvm-svn: 245185
* Update DynamicRegisterInfo::SetRegisterInfo to accept eh_frame registerJason Molenda2015-08-151-1/+7
| | | | | | | | numbers in the key name "ehframe" or "eh_frame" in addition to the deprecated "gcc" name (e.g. from a plugin.process.gdb-remote.target-definition-file python file). llvm-svn: 245151
* A messy bit of cleanup: Move towards more descriptive namesJason Molenda2015-08-1538-79/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | for eh_frame and stabs register numberings. This is not complete but it's a step in the right direction. It's almost entirely mechanical. lldb informally uses "gcc register numbering" to mean eh_frame. Why? Probably because there's a notorious bug with gcc on i386 darwin where the register numbers in eh_frame were incorrect. In all other cases, eh_frame register numbering is identical to dwarf. lldb informally uses "gdb register numbering" to mean stabs. There are no official definitions of stabs register numbers for different architectures, so the implementations of gdb and gcc are the de facto reference source. There were some incorrect uses of these register number types in lldb already. I fixed the ones that I saw as I made this change. This commit changes all references to "gcc" and "gdb" register numbers in lldb to "eh_frame" and "stabs" to make it clear what is actually being represented. lldb cannot parse the stabs debug format, and given that no one is using stabs any more, it is unlikely that it ever will. A more comprehensive cleanup would remove the stabs register numbers altogether - it's unnecessary cruft / complication to all of our register structures. In ProcessGDBRemote, when we get register definitions from the gdb-remote stub, we expect to see "gcc:" (qRegisterInfo) or "gcc_regnum" (qXfer:features:read: packet to get xml payload). This patch changes ProcessGDBRemote to also accept "ehframe:" and "ehframe_regnum" from these remotes. I did not change GDBRemoteCommunicationServerLLGS or debugserver to send these new packets. I don't know what kind of interoperability constraints we might be working under. At some point in the future we should transition to using the more descriptive names. Throughout lldb we're still using enum names like "gcc_r0" and "gdb_r0", for eh_frame and stabs register numberings. These should be cleaned up eventually too. The sources link cleanly on macosx native with xcode build. I don't think we'll see problems on other platforms but please let me know if I broke anyone. llvm-svn: 245141
* There is no such thing as gdb_arm_f8, this register set is f0-f7.Jason Molenda2015-08-151-83/+82
| | | | | | | Remove this entry and adjust the numbering for the rest of the arm register definitions. llvm-svn: 245130
* Fix Android build.Oleksiy Vyalov2015-08-141-1/+1
| | | | llvm-svn: 245129
* Unbreak the windows and linux buildbots.Greg Clayton2015-08-141-3/+3
| | | | llvm-svn: 245122
* Don't crash if we don't have a type system for a language.Greg Clayton2015-08-141-1/+1
| | | | llvm-svn: 245121
* Fix Linux build after r245090.Oleksiy Vyalov2015-08-141-9/+9
| | | | llvm-svn: 245100
* Move all clang type system DWARF type parsing into ClangASTContext.cpp.Greg Clayton2015-08-148-3924/+4067
| | | | | | Another step towards isolating all language/AST specific code into the files to further abstract specific implementations of parsing types for a given language. llvm-svn: 245090
* Fixed build failures caused by rL245026. Changed occurrences of ClangASTType ↵Bhushan D. Attarde2015-08-141-3/+3
| | | | | | to CompilerType. llvm-svn: 245033
* Handle floating point and aggregate return types in SysV-mips64 ABIBhushan D. Attarde2015-08-141-15/+300
| | | | | | | | | | | SUMMARY: This patch adds support of floating point and aggregate return types in GetReturnValueObjectImpl() for mips64. Reviewers: clayborg, jingham Subscribers: mohit.bhakkad, nitesh.jain, sagar, jaydeep, lldb-commits Differential Revision: http://reviews.llvm.org/D11641 llvm-svn: 245026
* [MIPS]Handle floating point and aggregate return types in SysV-mips [32 bit] ABIBhushan D. Attarde2015-08-141-3/+50
| | | | | | | | | | | SUMMARY: This patch adds support of floating point and aggregate return types in GetReturnValueObjectImpl() for mips32 Reviewers: clayborg Subscribers: mohit.bhakkad, nitesh.jain, sagar, jaydeep, lldb-commits Differential Revision: http://reviews.llvm.org/D11930 llvm-svn: 245020
* I was assuming that when a bit of inlined code was followed by code from the ↵Jim Ingham2015-08-141-4/+8
| | | | | | | | inlining site, it was going to execute to the inlining site code, but apparently that's not always true. So we need to be a bit more careful getting past the inlining, and use a StepOverRange plan not a RunToAddress plan. <rdar://problem/22191804> llvm-svn: 244999
* Add a better fix for searching for spaces in BSD archive object names where ↵Greg Clayton2015-08-141-5/+7
| | | | | | | | we only trim trailing spaces. I made an example where I had a file named "testtesttestt .o" (16 chars) that I was able to put into a .a file and we would previously truncate the object name to "testtesttestt" since we searched for any space in the name. I believe the BSD archive docs say that filenames with spaces will use the extended format, but our current libtool doesn't so I wanted to fix it by only removing trailing spaces. llvm-svn: 244992
* Don't crash when we have a .a file that contains an object with a 16 ↵Greg Clayton2015-08-131-1/+3
| | | | | | | | character name. Any calls to std::string::erase must be bounds checked. <rdar://problem/22260988> llvm-svn: 244984
* Remove more uses of raw_svector_ostream::flush() call following r244928.Yaron Keren2015-08-133-3/+0
| | | | llvm-svn: 244936
* Remove raw_svector_ostream::flush() call following r244928.Yaron Keren2015-08-131-1/+0
| | | | llvm-svn: 244935
* Removing redundant check from r244875Ravitheja Addepally2015-08-131-12/+6
| | | | llvm-svn: 244886
* Add missing include to RegisterInfoInterface.hTamas Berghammer2015-08-131-0/+2
| | | | llvm-svn: 244881
* Fix Linux build after r244875Tamas Berghammer2015-08-131-10/+2
| | | | llvm-svn: 244877
* Set orig_eax to -1 for Linux x86 platformsRavitheja Addepally2015-08-136-2/+79
| | | | | | | | | | | | | | | | | Summary: For Linux x86 based environments the orig_eax/orig_rax register should be set to -1 to prevent the instruction pointer to be decremented, which was the cause for the SIGILL exception. Fix for Bug 23659 Reviewers: zturner, ashok.thirumurthi, mikesart, jingham, clayborg Subscribers: clayborg, labath Differential Revision: http://reviews.llvm.org/D11411 llvm-svn: 244875
* [LLDB][MIPS] Use qfThreadID if qC packet is not supported by targetJaydeep Patil2015-08-131-0/+15
| | | | | | | | | | | SUMMARY: The patch uses qfThreadID to get the thread IDs if qC packet is not supported by target. Reviewers: jingham, clayborg Subscribers: nitesh.jain, mohit.bhakkad, sagar, bhushan and lldb-commits Differential Revision: http://reviews.llvm.org/D11519 llvm-svn: 244866
* [LLDB][MIPS] Support standard GDB remote stop reply packet for watchpointJaydeep Patil2015-08-133-7/+41
| | | | | | | | | | | | SUMMARY: The patch supports TAAwatch:addr packet. The patch also sets m_watchpoints_trigger_after_instruction to eLazyBoolNo when qHostInfo or qWatchpointSupportInfo is not supported by the target. Reviewers: jingham, clayborg Subscribers: nitesh.jain, mohit.bhakkad, sagar, bhushan and lldb-commits Differential Revision: http://reviews.llvm.org/D11747 llvm-svn: 244865
* [LLDB][MIPS] Handle false positives for MIPS hardware watchpointsJaydeep Patil2015-08-138-25/+235
| | | | | | | | | | | | | | | | SUMMARY: Last 3bits of the watchpoint address are masked by the kernel. For example, n is at 0x120010d00 and m is 0x120010d04. When a watchpoint is set at m, then watch exception is generated even when n is read/written. To handle this case, instruction at PC is emulated to find the base address of the load/store instruction. This address is then appended to the description of the stop-info packet. Client then reads this information to check whether the user has set a watchpoint on this address. Reviewers: jingham, clayborg Subscribers: nitesh.jain, mohit.bhakkad, sagar, bhushan and lldb-commits Differential Revision: http://reviews.llvm.org/D11672 llvm-svn: 244864
* Convert GetNumTemplateArguments() and GetTemplateArgument() to be instance ↵Enrico Granata2015-08-136-106/+120
| | | | | | functions on the CompilerType and the TypeSystem llvm-svn: 244846
* Remove printf most likely left from some debugging sectionTamas Berghammer2015-08-121-1/+0
| | | | llvm-svn: 244759
* Fix AArch64 watchpoint handlers in NativeRegisterContextLinux_arm64Omair Javaid2015-08-122-60/+81
| | | | | | http://reviews.llvm.org/D11899 llvm-svn: 244750
* Fix read only watchpoints on x86_64Tamas Berghammer2015-08-121-1/+3
| | | | | | | | | | On x86/x86_64 read only watchpoints aren't supported. Fall back to read/write watchpoints in that case. Note: Logic should be added to ignore the watchpoint hit when occurred because of a write. llvm-svn: 244742
* Fix LLGS to enable read type watchpointsOmair Javaid2015-08-122-5/+7
| | | | | | http://reviews.llvm.org/D11902 llvm-svn: 244741
* Improve check for ASAN callbacksTamas Berghammer2015-08-122-28/+14
| | | | | | | | | | | The ASAN callbacks are public symbols so we can search for them with reading only the symbol table (not the debug info). Whit this change the attach time for big executables with debug symbols decreased by a factor of ~4. Differential revision: http://reviews.llvm.org/D11384 llvm-svn: 244739
OpenPOWER on IntegriCloud