summaryrefslogtreecommitdiffstats
path: root/lldb/source
Commit message (Collapse)AuthorAgeFilesLines
...
* sanitise sign comparisonsSaleem Abdulrasool2014-04-0241-113/+131
| | | | | | | | This is a mechanical change addressing the various sign comparison warnings that are identified by both clang and gcc. This helps cleanup some of the warning spew that occurs during builds. llvm-svn: 205390
* Add the ability to set python breakpoint commands from the SBBreakpoint & ↵Jim Ingham2014-04-024-41/+143
| | | | | | | | | | | SBBreakpointLocation API's. You can either provide the function name, or function body text. Also propagate the compilation error up from where it is checked so we can report compilation errors. <rdar://problem/9898371> llvm-svn: 205380
* Implement ProcessMonitor::Kill for LinuxEd Maste2014-04-013-38/+4
| | | | | | | | | | | | | | | | | | | | | On FreeBSD ptrace(PT_KILL) is used to terminate the traced process (as if PT_CONTINUE had been used with SIGKILL as the signal to be delivered), and is the desired behaviour for ProcessPOSIX::DoDestroy. On Linux, after ptrace(PTRACE_KILL) the traced process still exists and can be interrogated. It is only upon resume that it exits as though it received SIGKILL. As the Linux PTRACE_KILL behaviour is not used by LLDB, rename BringProcessIntoLimbo to Kill, and change the implementation to simply call kill() instead of using ptrace. Thanks to Todd F for testing (Ubuntu 12.04, gcc 4.8.2). Sponsored by: DARPA, AFRL Differential Revision: http://llvm-reviews.chandlerc.com/D3159 llvm-svn: 205337
* Add mips64 to the list of 64-bit Host architecturesEd Maste2014-04-011-0/+1
| | | | llvm-svn: 205333
* mips64: clean up register context storageEd Maste2014-04-012-12/+14
| | | | | | | | | Store the gpr data in a DataBufferHeap and use a DataExtractor to extract register values with appropriate endianness. This avoids hard- coding the register count, and with some further work would allow this class to provide generic register context storage for any CPU. llvm-svn: 205329
* Implement ProcessMonitor::Kill for FreeBSDEd Maste2014-04-013-9/+9
| | | | | | | | | | | | | | | | | On FreeBSD ptrace(PT_KILL) is used to terminate the traced process (as if PT_CONTINUE had been used with SIGKILL as the signal to be delivered), and is the desired behaviour for ProcessPOSIX::DoDestroy. On Linux, after ptrace(PTRACE_KILL) the traced process still exists and can be interrogated. It is only upon resume that it exits as though it received SIGKILL. For now I'm committing only the FreeBSD change, until the Linux change (review D3159) is successfully tested. http://llvm.org/pr18894 llvm-svn: 205315
* <rdar://problem/16424592>Enrico Granata2014-03-312-4/+2
| | | | | | | | For some reason, the libc++ vector<bool> data formatter was essentially a costly no-up, doing everything required of it, except actually generating the child values! This restores its functionality llvm-svn: 205259
* Fix one thread timeout logicEd Maste2014-03-311-1/+1
| | | | | | | This should fix the seemingly-random failures observed on the FreeBSD buildbot. llvm-svn: 205241
* Include string.h for memset() prototype. Thanks Dmitri.Jason Molenda2014-03-291-0/+2
| | | | llvm-svn: 205115
* lldb arm64 import.Jason Molenda2014-03-2954-116/+5356
| | | | | | | | | | | | | | | | These changes were written by Greg Clayton, Jim Ingham, Jason Molenda. It builds cleanly against TOT llvm with xcodebuild. I updated the cmake files by visual inspection but did not try a build. I haven't built these sources on any non-Mac platforms - I don't think this patch adds any code that requires darwin, but please let me know if I missed something. In debugserver, MachProcess.cpp and MachTask.cpp were renamed to MachProcess.mm and MachTask.mm as they picked up some new Objective-C code needed to launch processes when running on iOS. llvm-svn: 205113
* Add the ability from the SB API's to set the "one thread" timeoutJim Ingham2014-03-282-8/+42
| | | | | | | | for expression evaluations that try one and then all threads. <rdar://problem/15598528> llvm-svn: 205060
* Wait for the reply from the 'D' detach packet before tearing down the ↵Jim Ingham2014-03-281-2/+4
| | | | | | | | | | | | debugger. Avoids a race condition where we could end up killing debugserver (and thus the target) before it had a chance to detach. Also fix debugserver to send the OK AFTER it detaches to avoid the same race condition. <rdar://problem/16202713> llvm-svn: 205043
* Add the "lldb_complete" .editrc command back in case veteran users of LLDB ↵Greg Clayton2014-03-261-1/+2
| | | | | | | | had .editrc key mappings in their ~/.editrc. <rdar://problem/16279283> llvm-svn: 204870
* Fixed a crasher when using 1 character type names in “type summary”, ↵Greg Clayton2014-03-261-32/+26
| | | | | | | | | | “type synthetic” and “type filter”. Also fixed a missing return when making python summary functions on the fly. <rdar://problem/16265491> llvm-svn: 204867
* Made the Materializer not write back variablesSean Callanan2014-03-251-5/+23
| | | | | | | | | | | if they didn't change, just like it does for registers. This makes life easier for kernel debugging and any other situation where values are read-only. <rdar://problem/16367795> llvm-svn: 204764
* <rdar://problem/14862302>Enrico Granata2014-03-251-3/+18
| | | | | | | For small structs, the frame format now prints them as one-liners This follows the same definition that frame variable does for deciding what a "small struct" is, and as such should be fairly consistent with the variable display in general llvm-svn: 204762
* Make ProcessLinux return true for DetachRequiresHalt() because PTRACE_DETACH ↵Andrew MacPherson2014-03-251-0/+3
| | | | | | requires this. llvm-svn: 204759
* <rdar://problem/14515139>Enrico Granata2014-03-256-36/+42
| | | | | | | Add a GetFoundationVersion() to AppleObjCRuntime This API is used to return and cache the major version of Foundation.framework, which is potentially a useful piece of data to key off of to enable or disable certain ObjC related behaviors (especially in data formatters) llvm-svn: 204756
* Move calls to DisableAllBreakpointSites() and ↵Andrew MacPherson2014-03-254-10/+3
| | | | | | m_thread_list.DiscardThreadPlans() into base Process::Destroy() instead of in subclass DoDestroy() methods. llvm-svn: 204752
* Added a missing "break" to avoid falling throughSean Callanan2014-03-251-0/+1
| | | | | | when other cases get added. llvm-svn: 204751
* Fixed the IRInterpreter to ignore call instructionsSean Callanan2014-03-251-0/+68
| | | | | | that call debug-information intrinsics. llvm-svn: 204750
* Improve Elf object file UUID calculation performance.Todd Fiala2014-03-252-26/+162
| | | | | | | | | | | This change makes significant improvements in the performance of calculating a UUID within ObjectFileELF, and handles both running processes and core files correctly. This does lazy evaluation of UUID generation and caches the result when calculated. Change by Piotr Rak. llvm-svn: 204749
* A fix for: http://llvm.org/bugs/show_bug.cgi?id=19241 Greg Clayton2014-03-251-1/+1
| | | | | | When there was no process, the expression options were set to not ignore breakpoints. This causes debug info to be generated and causes errors when evaluating simple expressions. llvm-svn: 204745
* Add ObjectFileJIT libraryEd Maste2014-03-251-0/+1
| | | | llvm-svn: 204698
* Make "disassemble -a" work when the target is not running yet. It will dump ↵Jim Ingham2014-03-251-57/+102
| | | | | | | | all the functions matching that address, just like "disassemble -n" does before running. <rdar://problem/16406570> llvm-svn: 204689
* Add ObjectFile/JIT to the makefile.Greg Clayton2014-03-241-1/+1
| | | | llvm-svn: 204685
* Make cmake build the new ObjectFileJIT.Greg Clayton2014-03-241-0/+1
| | | | llvm-svn: 204683
* JITed functions can now have debug info and be debugged with debug and ↵Greg Clayton2014-03-2420-127/+1192
| | | | | | | | | | | | | | | | | | | source info: (lldb) b puts (lldb) expr -g -i0 -- (int)puts("hello") First we will stop at the entry point of the expression before it runs, then we can step over a few times and hit the breakpoint in "puts", then we can continue and finishing stepping and fininsh the expression. Main features: - New ObjectFileJIT class that can be easily created for JIT functions - debug info can now be enabled when parsing expressions - source for any function that is run throught the JIT is now saved in LLDB process specific temp directory and cleaned up on exit - "expr -g --" allows you to single step through your expression function with source code <rdar://problem/16382881> llvm-svn: 204682
* Include <mutex> for std::once.Greg Clayton2014-03-241-0/+2
| | | | llvm-svn: 204632
* Renamed a struct from i386 to i386_.Hafiz Abid Qadeer2014-03-244-14/+14
| | | | | | It is to avoid build error when gcc defines i386. llvm-svn: 204628
* Modified patch from Piotr Rak that makes GetSharedModuleList() more thread ↵Greg Clayton2014-03-241-10/+34
| | | | | | safe and also fixed a missed member initialization on the copy contractor and also makes the assignment operator safer. llvm-svn: 204622
* Cleanup some dead assignements reported by scan-buildArnaud A. de Grandmaison2014-03-227-19/+7
| | | | | | No functionnal change. llvm-svn: 204545
* If a single step ends on a breakpoint, it should be reported as a breakpoint hitJim Ingham2014-03-221-13/+23
| | | | | | | | even though the underlying exception is a trace exception. <rdar://problem/15243355> llvm-svn: 204534
* Suppress SIGSTOP under Linux and don't explicitly call SetResumeSignal() in ↵Andrew MacPherson2014-03-212-6/+1
| | | | | | POSIXThread, instead just let StopInfo handle it. llvm-svn: 204504
* Don't build LLDBWrapPython.cpp for mingw.Hafiz Abid Qadeer2014-03-211-1/+2
| | | | | | | | | | Previous check relied on -DLLDB_DISABLE_PYTHON which was not valid as it is defined in the top level LLDB Makefile which is included after the check. If this check is moved after the inclusion of top level Makefile then BUILT_SOURCES is not properly handled. So I am using the scheme present in the Host/Makefile. llvm-svn: 204459
* Fixed case typo.Greg Clayton2014-03-201-3/+3
| | | | llvm-svn: 204402
* Switch over to use the ArchSpec::GetMachine() instead of ArchSpec::GetCore() ↵Greg Clayton2014-03-2011-82/+53
| | | | | | to keep the code more portable as we add new core types to ArchSpec. llvm-svn: 204400
* Add support for dumping DW_LNE_set_discriminator line table extended entries.Greg Clayton2014-03-201-1/+7
| | | | llvm-svn: 204369
* Quiet Clang warning about signed/unsigned comparisonEd Maste2014-03-201-1/+1
| | | | llvm-svn: 204360
* Guard against reading from host address of 0 in getting the data from a Value.Jim Ingham2014-03-201-1/+6
| | | | llvm-svn: 204359
* Change the type in va_arg call from char to int.Hafiz Abid Qadeer2014-03-201-1/+1
| | | | | | It is supposed to take fully promoted types. llvm-svn: 204336
* cleanup unreferenced functionsSaleem Abdulrasool2014-03-2020-661/+60
| | | | | | | | | | | | | This is a mechanical cleanup of unused functions. In the case where the functions are referenced (in comment form), I've simply commented out the functions. A second pass to clean that up is warranted. The functions which are otherwise unused have been removed. Some of these were introduced in the initial commit and not in use prior to that point! NFC llvm-svn: 204310
* Core: preprocess out TestPromptFormatsSaleem Abdulrasool2014-03-201-0/+2
| | | | | | | | | | TestPromptFormats appears as though it may be a useful unit test. Unfortunately, there is no invocation mechanism in place right now. It is unclear how to add a unit test for this scenario to the existing tests. It would be ideal to remove this entirely, but I am hopeful that this can/will be pulled out into a test still since it uses a user accessible interface. llvm-svn: 204309
* rdar://16361422Enrico Granata2014-03-201-0/+1
| | | | | | Add NSMutableData to the list of types that the NSData formatter knows to represent llvm-svn: 204289
* Change the backtrace view into a process tree view where you can expand the ↵Greg Clayton2014-03-191-87/+219
| | | | | | process, its threads and see all frames under each thread. llvm-svn: 204251
* Fix expression parsing (on FreeBSD, at least)Ed Maste2014-03-181-0/+1
| | | | | | | This reverts part of r204112 (Expression: cleanup unused include). It looks like MCJIT.h is required to force MCJIT to be linked. llvm-svn: 204170
* Expression: cleanup unused includeSaleem Abdulrasool2014-03-181-5/+0
| | | | | | | | The standard JIT has been discarded in favour of MCJIT. USE_STANDARD_JIT is no longer defined. Furthermore, the execution engine is now built in IRExecutionUnit. Simply remove inclusion of both JIT headers. llvm-svn: 204112
* create constants for multichar constantsSaleem Abdulrasool2014-03-182-4/+15
| | | | | | | | Multichar constants are not portable as the byte order is undefined. Use a constant value instead. This avoids a warning when compiling with gcc 4.8+ (-Wmultichar) and makes the code more portable. llvm-svn: 204110
* Get "ThreadPlanShouldStopHere" to handle auto-stepping through line number 0 ↵Jim Ingham2014-03-171-9/+42
| | | | | | code. llvm-svn: 204087
* Correct copy-and-pasted comments for DetachOperationEd Maste2014-03-172-3/+3
| | | | llvm-svn: 204064
OpenPOWER on IntegriCloud