summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
* Fix a infinite loop when killing a process that is in the middle of loading ↵Greg Clayton2015-08-111-79/+76
| | | | | | | | | | shared libraries. The issue was we were sending a "qSymbol::" packet and it we were already disconnected were weren't exiting the while loop if we didn't successfully send the qSymbol packet. <rdar://problem/22098746> llvm-svn: 244683
* Added missing files from checking regarding:Greg Clayton2015-08-111-0/+20
| | | | | | http://reviews.llvm.org/D8712 llvm-svn: 244681
* First step in getting LLDB ready to support multiple different type systems.Greg Clayton2015-08-1137-6468/+7284
| | | | | | | | This is the work done by Ryan Brown from http://reviews.llvm.org/D8712 that makes a TypeSystem class and abstracts types to be able to use a type system. All tests pass on MacOSX and passed on linux the last time this was submitted. llvm-svn: 244679
* Revert r244308 since it's introducing test regressions on Linux:Oleksiy Vyalov2015-08-1019-3660/+1650
| | | | | | | | - TestLldbGdbServer.py both clang & gcc, i386 and x86_64 - TestConstVariables.py gcc, i386 and x86_64 - 112 failures clang, i386 llvm-svn: 244514
* Feedback from Jim: Change the "optimized code" warning to be entirelyJason Molenda2015-08-102-8/+16
| | | | | | | | | | | | contained within Process so that we won't be duplicating the warning message if other parts of the code want to issue the message. Change Process::PrintWarning to be a protected method - the public method will be the PrintWarningOptimization et al. Also, Have Thread::FunctionOptimizationWarning shortcut out if the warnings have been disabled so that we don't (potentially) compute parts of the SymbolContext unnecessarily. llvm-svn: 244436
* Fix for build errors on arm-linux-gnueabi-gccOmair Javaid2015-08-094-2/+10
| | | | | | http://reviews.llvm.org/D11256 llvm-svn: 244419
* [LLDB][MIPS] Fix offsets of all register sets and add MSA regset and FRE=1 ↵Sagar Thakur2015-08-0719-1650/+3660
| | | | | | | | | | | | | | | | | | mode support This change : - 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. - Eliminates ENABLE_128_BIT_SUPPORT and union ValueData from Scalar.cpp and uses llvm::APInt and llvm::APFloat for all integer and floating point types. Reviewers : emaste, jaydeep, clayborg Subscribers : emaste, mohit.bhakkad, nitesh.jain, bhushan Differential : http://reviews.llvm.org/D10919 llvm-svn: 244308
* Change the warning message about optimization to be printed onceJason Molenda2015-08-061-4/+5
| | | | | | | | | | | | | per Module instead of once per CompileUnit, and print the module name. A module may have a mix of compile units built with optimization and compile units built without optimization -- the warning won't be printed until the user selects a stack frame of a function that was built with optimization. And as before, it will only be printed once per module per debug session. <rdar://problem/19281172> llvm-svn: 244281
* Update lldb's ExternalASTSources to match Clang r244161.Richard Smith2015-08-062-26/+14
| | | | llvm-svn: 244194
* Second part of indicating when the user is stopped in optimized code.Jason Molenda2015-08-062-1/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The first part was in r243508 -- the extent of the UI changes in that patchset was to add "[opt]" to the frame-format when a stack frame was built with optimized code. In this change, when a stack frame built with optimization is selected, a message will be printed to the async output channel -- opt1.c was compiled with optimization - stepping may behave oddly; variables may not be available. The warning will be only be printed once per source file in a debug session. These warnings may be disabled by settings set target.process.optimization-warnings false Internally, a new Process::PrintWarning() method has been added for warnings that we want to print only once to the user. It takes a type of warning (currently only eWarningsOptimization) and an object pointer (CompileUnit*) - the warning will only be printed once for a given object pointer value. This is a bit of a prototype of this change - I think we will be tweaking it more in the future. But I wanted to land this and see how it goes. Advanced users will find these warnings unnecessary noise and will quickly disable them - but anyone who maintains a debugger knows that debugging optimized code, without realizing it, is a constant source of confusion and frustation for more typical debugger users. I imagine there will be more of these "warn once per whatever" style warnings that we will want to add in the future and we'll need to come up with a better way for enabling/disabling them. But I'm not srue what form that warning settings should take and I didn't want to code up something that we regret later, so for now I just added another process setting for this one warning. <rdar://problem/19281172> llvm-svn: 244190
* Bug 24332 - Fix the build of lldb under GNU/Linux when using autotoolsSylvestre Ledru2015-08-053-1/+30
| | | | | | | | | | Reviewers: loladiro, jingham, emaste, zturner, brucem Subscribers: tberghammer, danalbert, srhines, zturner, lldb-commits Differential Revision: http://reviews.llvm.org/D11717 llvm-svn: 244039
* Bump the version # in the xcode proj file from major number 340 to 350.Jason Molenda2015-08-042-2/+2
| | | | | | The SB API for major version 340 won't be changing any more. llvm-svn: 243943
* Fix cmake build on non-Windows platforms.Bruce Mitchener2015-08-041-1/+1
| | | | | | | r243914 introduced a change which mistakenly tried to build the Windows minidump code on all platforms rather than only on Windows. llvm-svn: 243941
* Create a Windows mini-dump target Differential Revision: ↵Adrian McCarthy2015-08-039-0/+801
| | | | | | http://reviews.llvm.org/D11611 llvm-svn: 243914
* Jim suggested to use eArgTypeAddressOrExpression for the addresses that ↵Enrico Granata2015-08-031-3/+3
| | | | | | 'memory find' takes llvm-svn: 243902
* Fix the memory find command such that it can actually take an expressionEnrico Granata2015-08-031-21/+11
| | | | llvm-svn: 243893
* GDBRemoteCommunication::DecompressPacket assumed that the buffer it wasJason Molenda2015-08-021-11/+20
| | | | | | | | | | working with (the Communication m_bytes ivar) contained a single packet. Instead, it may contain multitudes. Find the boundaries of the first packet in the buffer and replace that with the decompressed version leaving the rest of the buffer unmodified. <rdar://problem/21841377> llvm-svn: 243846
* Report original thread ID for FreeBSD core filesEd Maste2015-07-313-7/+8
| | | | | | | | | | | | | On FreeBSD the tid is (somewhat unintuitively) found in the pr_pid field of the NT_PRSTATUS note. Collect it when parsing the note and store it in the thread data. For Linux I've left the original behaviour of using sequential TIDs (0, 1, 2...) as I don't yet have code to obtain it. Differential Revision: http://reviews.llvm.org/D11652 llvm-svn: 243748
* Move the computation of whether a DWARF compile unitJason Molenda2015-07-313-6/+32
| | | | | | | | is optimized into DWARFCompileUnit, where it should have been. Next I'll need to call this from another section of code for DWARF-in-.o-file behavior correctness. llvm-svn: 243736
* Add another log to the Host channel for loggingJason Molenda2015-07-311-0/+6
| | | | | | the actions taken when trying to locate binaries. llvm-svn: 243732
* Allow ValueObject::Dereference to dereference references.Chaoren Lin2015-07-311-6/+6
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11667 llvm-svn: 243716
* Fix help message for target.language setting.Dawn Perchik2015-07-301-1/+1
| | | | llvm-svn: 243697
* Convert the ScriptInterpreter system to a plugin-based one.Zachary Turner2015-07-3022-141/+1297
| | | | | | | | | | | | | | | | | | | | | | | Previously embedded interpreters were handled as ad-hoc source files compiled into source/Interpreter. This made it hard to disable a specific interpreter, or to add support for other interpreters and allow the developer to choose which interpreter(s) were enabled for a particular build. This patch converts script interpreters over to a plugin-based system. Script interpreters now live in source/Plugins/ScriptInterpreter, and the canonical LLDB interpreter, ScriptInterpreterPython, is moved there as well. Any new code interfacing with the Python C API must live in this location from here on out. Additionally, generic code should never need to reference or make assumptions about the presence of a specific interpreter going forward. Differential Revision: http://reviews.llvm.org/D11431 Reviewed By: Greg Clayton llvm-svn: 243681
* Use only unnamed pipes to launch lldb-server gdbserver.Chaoren Lin2015-07-301-19/+21
| | | | | | | | | | | | | | | | | Summary: If we used unnamed pipes instead of named pipes, we can avoid having the file system littered with debugserver-named-pipes if lldb-server happens to crash for whatever reason. Also, on some buggy systems, it's possible to be able to create but not to delete a fifo. Ideally, support for unnamed pipes should be added to debugserver as well, so we can avoid the `#ifdef` here. Reviewers: clayborg, vharron, chying Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11609 llvm-svn: 243667
* Fix issues with separate symbolfile handlingTamas Berghammer2015-07-304-15/+40
| | | | | | Differential revision: http://reviews.llvm.org/D11595 llvm-svn: 243637
* [LLDB][MIPS] To handle SI_KERNEL generated for invalid 64 bit addressMohit K. Bhakkad2015-07-301-10/+13
| | | | | | | | | | Patch by Nitesh Jain Reviewers: clayborg, ovyalov. Subscribers: jaydeep, bhushan, mohit.bhakkad, sagar, emaste, lldb-commits. Differential Revision: http://reviews.llvm.org/D11176 llvm-svn: 243620
* [LLDB][MIPS] Create Unix Signals based on target architectureJaydeep Patil2015-07-301-1/+7
| | | | | | | | | | | SUMMARY: The patch creates Unix Signals based on target architecture. For MIPS it creates MipsLinuxSignals. Reviewers: clayborg Subscribers: mohit.bhakkad, sagar, lldb-commits Differential Revision: http://reviews.llvm.org/D11455 llvm-svn: 243618
* Make DWARF at_comp_dir symbolic links configurable via ↵Oleksiy Vyalov2015-07-293-12/+134
| | | | | | | | plugin.symbol-file.dwarf.comp-dir-symlink-paths setting. http://reviews.llvm.org/D11586 llvm-svn: 243580
* Centralize where we update the source file contents in ↵Greg Clayton2015-07-291-10/+10
| | | | | | | | | | | | | | | SourceManager::GetFile() in case APIs are called that don't update the source. The following functions were the only functions that updates the source file: SourceManager::File::DisplaySourceLines() SourceManager::File::FindLinesMatchingRegex() But there we API calls that were using the SourceManager::File and asking it questions, like "is line 12 valid" and that might respond incorrectly if the source file had been updated. <rdar://problem/21269402> llvm-svn: 243551
* Add a function to make a mutex-protected copy of a breakpoint site'sJim Ingham2015-07-292-7/+17
| | | | | | | | | | owners list, so the StopInfo machinery can get the list of owners without some other thread being able to mess up the list by deleting/disabline one of its locations in the process of doing so. <rdar://problem/18685197> llvm-svn: 243541
* Fix read/write context in EmulateInstructionARM strd/ldrdTamas Berghammer2015-07-291-4/+17
| | | | llvm-svn: 243521
* Remove non-utf-8 characters from EmulateInstructionARMTamas Berghammer2015-07-291-142/+142
| | | | llvm-svn: 243520
* [LLGS] Spawned process handling cleanupPavel Labath2015-07-296-202/+127
| | | | | | | | | | | | | | | | | | | Summary: This commit moves the m_spawned_pids member from the common LLGS/Platform class to the plaform specific part. This enables us to remove LLGS code, which was attempting to manage the m_spawned_pids contents, but at the same time making sure, there is only one debugged process. If we ever want to do multi-process debugging, we will probably want to replace this with a set of NativeProcessProtocolSP anyway. The only functional change is that support for qKillSpawnedProcess packet is removed from LLGS, but this was not used there anyway (we have the k packet for that). Reviewers: ovyalov, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11557 llvm-svn: 243513
* When debugserver fails to attach to a process on a DarwinJason Molenda2015-07-291-2/+22
| | | | | | | | | | | | | | | | | | | system, make a couple of additional checks to see if the attach was denied via the System Integrity Protection that is new in Mac OS X 10.11. If so, return a special E87 error code to indicate this to lldb. Up in lldb, if we receive the E87 error code, be specific about why the attach failed. Also detect the more common case of general attach failure and print a better error message than "lost connection". I believe this code will all build on Mac OS X 10.10 systems. It may not compile or run on earlier versions of the OS. None of this should build on other non-darwin systems. llvm-svn: 243511
* First part of an attempt to indicate to the user when they are Jason Molenda2015-07-298-9/+62
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | debugging optimized code. Adds new methods on Function/SBFunction to query whether a given function is optimized. Adds a new function.is-optimized format entity and changes the default frame-format to append "[opt]" if the function was built with optimization. The only indication that a binary was built with optimization that we have right now is the presence of the DW_AT_APPLE_optimized attribute (DW_FORM_flag value 1) in the DW_TAG_compile_unit. The absence of this flag may mean that the compile_unit was not compiled with optimization, or it may mean that the producer does not generate this attribute. Currently this only works for dSYM debugging. When we create the CompileUnit with dwarf-in-.o-file debugging we don't have the attribute value yet so it's not set. I need to find the flag value when we do start to read the .o file DWARF and set the CompileUnit's status at that point - but haven't done it yet. I'm also going to add a mechanism for issuing warnings to users such that they're only issued once in a debug session and there is away for users to suppress these warnings altogether via .lldbinit file settings. But I want to get this changeset committed now that it's at a useful state. <rdar://problem/19281172> llvm-svn: 243508
* Lock the owners mutex in the BreakpointSite before updating the hitJim Ingham2015-07-291-0/+1
| | | | | | | | | | counts. If you delete a breakpoint belonging to a site just as you are processing a hit on that site, you could cause the BreakpointSite loop to access a now deleted location. <rdar://problem/19310323> llvm-svn: 243507
* Make ClangASTType::RemoveFastQualifiers() actually do something usefulEnrico Granata2015-07-281-1/+1
| | | | llvm-svn: 243482
* Fix a bug where the std::list synthetic child provider would not clean its ↵Enrico Granata2015-07-281-0/+1
| | | | | | | | cache correctly on update, causing stale children to be returned in some circumstances Fixes rdar://20560680 llvm-svn: 243472
* FreeBSDThread::GetRegisterContext is only for FreeBSD targetsEd Maste2015-07-281-29/+20
| | | | | | | | The removal of in-process Linux debug support left a switch statement with llvm::Triple::FreeBSD as the only case. Simplify by replacing it with a now-equivalent assertion. llvm-svn: 243468
* Remove eNewThreadMessage from FreeBSD process monitorEd Maste2015-07-283-25/+1
| | | | | | | FreeBSD thread information is updated after stop - we do not use a message for thread creation. llvm-svn: 243448
* Remove two additional files missed in r243427Ed Maste2015-07-282-0/+0
| | | | llvm-svn: 243428
* Remove POSIX thread/process abstractionEd Maste2015-07-2818-1992/+1724
| | | | | | | | | As of r240543 ProcessPOSIX and POSIXThread are used only on FreeBSD, so just roll them into ProcessFreeBSD and FreeBSDThread. Differential Revision: http://reviews.llvm.org/D10698 llvm-svn: 243427
* Fix warnings detected by -Wpessimizing-movePavel Labath2015-07-288-23/+20
| | | | | | | | patch by Eugene Zelenko Differential Revision: http://reviews.llvm.org/D11429 llvm-svn: 243399
* [LLGS] Avoid bogus error message on process terminationPavel Labath2015-07-281-15/+10
| | | | | | | | | | | | | | | | | | Summary: Handle_k was printing an error when killing a process because KillSpawnedProcess was expecting to be asynchronously notified of the process death, which no longer works, since we don't wait for the process on a separate thread. However, the whole usage of KillSpawnedProcess is dubious here, since it tries to be nice and terminate the process first with SIGTERM, which will not have the intended effect on a ptraced process. I replace this code with a call to NativeProcessProtocol::Kill, which does not suffer from these problems. Reviewers: chaoren, ovyalov Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11520 llvm-svn: 243397
* There is no reason why this formatter should not cascade. Make it cascadeEnrico Granata2015-07-281-1/+1
| | | | llvm-svn: 243369
* Second attempt at the fix for the recursion in ↵Enrico Granata2015-07-281-4/+13
| | | | | | | | ValueObjectChild::CanUpdateWithInvalidExecutionContext() This one should prevent the previous issues, and be the one true fix for rdar://21949558 llvm-svn: 243367
* Make sure we detect symbols in the new __DATA_DIRTY and __DATA_CONST ↵Greg Clayton2015-07-272-2/+26
| | | | | | | | segments and classify them correctly. <rdar://problem/20942073> llvm-svn: 243344
* Deprecate `SBValue::TypeIsPointerType`.Chaoren Lin2015-07-271-13/+2
| | | | | | | | | | Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D11540 llvm-svn: 243333
* If a path contains a '/' before a ':', then the ':' is not a hostname ↵Enrico Granata2015-07-271-3/+9
| | | | | | separator, but just a part of the path (e.g. /tmp/fi:lename vs. pro:/tmp/fi:lename) llvm-svn: 243330
* Add a more tweakable way for ValueObjectPrinter to control pointer ↵Enrico Granata2015-07-272-16/+57
| | | | | | expansion. NFC. llvm-svn: 243301
OpenPOWER on IntegriCloud