summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* memory read -f X doesn't print anything (lldb should warn when encountering ↵Johnny Chen2012-02-162-1/+6
| | | | | | | | | | an unsupported byte size) Also add a test sequence for it. rdar://problem/10876841 llvm-svn: 150766
* memory read prints out duplicate entries when using vector formatsJohnny Chen2012-02-164-12/+126
| | | | | | | | | DataExtractor::Dump() needs to supply the correct cursor when delegating to the child DataExtractor::Dump() calls. Add a regression test file. rdar://problem/10872908 llvm-svn: 150729
* Add a general mechanism to wait on the debugger for Broadcasters of a given ↵Jim Ingham2012-02-1641-28/+763
| | | | | | | | | class/event bit set. Use this to allow the lldb Driver to emit notifications for breakpoint modifications. <rdar://problem/10619974> llvm-svn: 150665
* Document that we now support the GDB shorthand format syntax on any commandsGreg Clayton2012-02-161-0/+36
| | | | | | | | | that take formats or sizes. Also document that scalar expression results can be used in any command using expressions inside backticks. llvm-svn: 150652
* Stop finding bare symbols when we're explicitlySean Callanan2012-02-151-1/+4
| | | | | | told to look in a namespace. llvm-svn: 150590
* adding a new test case for the SB formatters APIEnrico Granata2012-02-154-0/+327
| | | | llvm-svn: 150559
* <rdar://problem/10062621>Enrico Granata2012-02-1544-490/+4421
| | | | | | | | | | | | | | | | | | New public API for handling formatters: creating, deleting, modifying categories, and formatters, and managing type/formatter association. This provides SB classes for each of the main object types involved in providing formatter support: SBTypeCategory SBTypeFilter SBTypeFormat SBTypeSummary SBTypeSynthetic plus, an SBTypeNameSpecifier class that is used on the public API layer to abstract the notion that formatters can be applied to plain type-names as well as to regular expressions For naming consistency, this patch also renames a lot of formatters-related classes. Plus, the changes in how flags are handled that started with summaries is now extended to other classes as well. A new enum (lldb::eTypeOption) is meant to support this on the public side. The patch also adds several new calls to the formatter infrastructure that are used to implement by-index accessing and several other design changes required to accommodate the new API layer. An architectural change is introduced in that backing objects for formatters now become writable. On the public API layer, CoW is implemented to prevent unwanted propagation of changes. Lastly, there are some modifications in how the "default" category is constructed and managed in relation to other categories. llvm-svn: 150558
* Previoously the expression parser had to rely on theSean Callanan2012-02-154-6/+47
| | | | | | | | | JIT when printing the values of registers (e.g., "expr $pc"). Now the expression parser can do this in the IR interpreter without running code in the inferior process. llvm-svn: 150554
* Only allow expressions to use the JIT if memorySean Callanan2012-02-141-1/+17
| | | | | | can be allocated in the process. llvm-svn: 150523
* Remove the functionality of using 'frame variable -w' to set a watchpoint ↵Johnny Chen2012-02-147-111/+21
| | | | | | | | now that 'watchpoint set variable/expression' is working. Also update the relevant test cases. llvm-svn: 150514
* Remove @expectedFailure decorators as the bug has been fixed.Johnny Chen2012-02-141-2/+2
| | | | llvm-svn: 150501
* (no commit message)Enrico Granata2012-02-141-0/+14
| | | | llvm-svn: 150492
* Add test cases exercising SBValue.GetObjectDescription() with the SBValue ↵Johnny Chen2012-02-142-0/+90
| | | | | | | | from SBTarget.FindGlobalVariables() as well as from SBFrame.GetVariables(). Both scenarios are expected to work. llvm-svn: 150450
* Fixed a bug that caused the description stringsSean Callanan2012-02-141-1/+2
| | | | | | | for assembly instructions to occasionally come out empty. llvm-svn: 150445
* Made loading sections in the DynamicLoaderDarwinKernel more robust as itGreg Clayton2012-02-141-31/+28
| | | | | | | | | seems that sections in the memory module might be quite different from the sections in the file module. Now we find all segments in the on disk file and find that segment by name in the memory module and it is ok if any sections from the file are missing in the memory image. llvm-svn: 150443
* Add a test case for completion from 'settings set target.exec' to 'settings ↵Johnny Chen2012-02-131-0/+4
| | | | | | set target.exec-search-paths '. llvm-svn: 150427
* Full core file support has been added for mach-o core files.Greg Clayton2012-02-1334-764/+1088
| | | | | | | | | | | | | | | | Tracking modules down when you have a UUID and a path has been improved. DynamicLoaderDarwinKernel no longer parses mach-o load commands and it now uses the memory based modules now that we can load modules from memory. Added a target setting named "target.exec-search-paths" which can be used to supply a list of directories to use when trying to look for executables. This allows one or more directories to be used when searching for modules that may not exist in the SDK/PDK. The target automatically adds the directory for the main executable to this list so this should help us in tracking down shared libraries and other binaries. llvm-svn: 150426
* Tightened up type uniq'ing so we don't uniq twoSean Callanan2012-02-131-0/+1
| | | | | | | anonymous types to each other unless they have the same byte_size. llvm-svn: 150422
* Bump version number up to 115.Jason Molenda2012-02-132-16/+16
| | | | llvm-svn: 150421
* Made the "--no-inlines" option onSean Callanan2012-02-111-8/+15
| | | | | | | | | | | | "target modules lookup" also work with the "--function" option, so you can search for functions that aren't inlined. This is the same query that the expression parser makes, so it's good for diagnosing situations where the expression parser doesn't find a function you think should be there. llvm-svn: 150289
* Make the output from "target modules lookup -n"Sean Callanan2012-02-111-1/+10
| | | | | | prettier. llvm-svn: 150285
* Extended function lookup to allow the user toSean Callanan2012-02-1025-40/+93
| | | | | | | | | indicate whether inline functions are desired. This allows the expression parser, for instance, to filter out inlined functions when looking for functions it can call. llvm-svn: 150279
* Improved detection of object file types, movingSean Callanan2012-02-106-28/+33
| | | | | | | | | | detection of kernels into the object file and adding a new category for raw binary images. Fixed all clients who previously searched for sections manually, making them use the object file's facilities instead. llvm-svn: 150272
* Fixed incorrect #include directives.Greg Clayton2012-02-102-11/+0
| | | | llvm-svn: 150271
* Fixed a bunch of ownership problems with the expressionSean Callanan2012-02-104-160/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | parser. Specifically: - ClangUserExpression now keeps weak pointers to the structures it needs and then locks them when needed. This ensures that they continue to be valid without leaking memory if the ClangUserExpression is long lived. - ClangExpressionDeclMap, instead of keeping a pointer to an ExecutionContext, now contains an ExecutionContext. This prevents bugs if the pointer or its contents somehow become stale. It also no longer requires that ExecutionContexts be passed into any function except its initialization function, since it can count on the ExecutionContext still being around. There's a lot of room for improvement (specifically, ClangExpressionDeclMap should also use weak pointers insetad of shared pointers) but this is an important first step that codifies assumptions that already existed in the code. llvm-svn: 150217
* fixing a macro name mismatch that was making our test case succeed for the ↵Enrico Granata2012-02-102-2/+4
| | | | | | wrong reason; plus a minor code change to the CPP side of the test which eases debugging efforts llvm-svn: 150213
* Caching the DIE for the DeclContext as reportedSean Callanan2012-02-091-1/+3
| | | | | | | by GetClangDeclContextContainingDIE, for better debuggability. llvm-svn: 150211
* Fix compile time warnings for the inferior program.Johnny Chen2012-02-092-2/+2
| | | | llvm-svn: 150205
* Added a logging helper class for SymbolFileDWARF::ParseType() that willGreg Clayton2012-02-091-19/+92
| | | | | | | | enable us to track the depth of parsing and what is being parsed. This helps when trying to track down difficult type parsing issues and is only enabled in non-production builds. llvm-svn: 150203
* Setting terminal type to 'xterm' on Darwin; otherwise, to 'vt100'.Johnny Chen2012-02-091-1/+4
| | | | llvm-svn: 150198
* Add error handling for missing option terminator "--" and a test scenario ↵Johnny Chen2012-02-092-6/+19
| | | | | | | | for it. Also fix a logic error for a missing return stmt. Oops. llvm-svn: 150195
* First pass at mach-o core file support is in. It currently works for x86_64 Greg Clayton2012-02-0930-91/+1263
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | user space programs. The core file support is implemented by making a process plug-in that will dress up the threads and stack frames by using the core file memory. Added many default implementations for the lldb_private::Process functions so that plug-ins like the ProcessMachCore don't need to override many many functions only to have to return an error. Added new virtual functions to the ObjectFile class for extracting the frozen thread states that might be stored in object files. The default implementations return no thread information, but any platforms that support core files that contain frozen thread states (like mach-o) can make a module using the core file and then extract the information. The object files can enumerate the threads and also provide the register state for each thread. Since each object file knows how the thread registers are stored, they are responsible for creating a suitable register context that can be used by the core file threads. Changed the process CreateInstace callbacks to return a shared pointer and to also take an "const FileSpec *core_file" parameter to allow for core file support. This will also allow for lldb_private::Process subclasses to be made that could load crash logs. This should be possible on darwin where the crash logs contain all of the stack frames for all of the threads, yet the crash logs only contain the registers for the crashed thrad. It should also allow some variables to be viewed for the thread that crashed. llvm-svn: 150154
* Brought LLVM/Clang up to top of tree. The onlySean Callanan2012-02-093-16/+22
| | | | | | | | change (besides logging) is that now string literals in the IR are ConstantDataArrays instead of ConstantArrays. llvm-svn: 150142
* Removed another debug message. Sigh...Sean Callanan2012-02-091-4/+0
| | | | llvm-svn: 150134
* Add safe guard for when the 'expect' program cannot be located and skip the ↵Johnny Chen2012-02-092-0/+20
| | | | | | test. llvm-svn: 150133
* Some Breakpoint:: methods crept down be log the ↵Jim Ingham2012-02-091-63/+62
| | | | | | Breakpoint::BreakpointEventData methods. llvm-svn: 150131
* Set the terminal type to 'xterm' before doing 'stty -a'.Johnny Chen2012-02-091-1/+6
| | | | llvm-svn: 150127
* Remembered to NULL out the symbol, which wasSean Callanan2012-02-091-1/+2
| | | | | | causing testsuite crashes. llvm-svn: 150125
* Make the expect_prompt more strict.Johnny Chen2012-02-091-1/+1
| | | | llvm-svn: 150124
* Add a case to test that 'stty -a' displays the same output before and after ↵Johnny Chen2012-02-091-0/+113
| | | | | | running the lldb command. llvm-svn: 150119
* After discussions with Jim and Greg, modify the 'watchpoint set' command to ↵Johnny Chen2012-02-0810-196/+302
| | | | | | | | | | | | | | | | become a mutiword command with subcommand 'expression' and 'variable'. The first subcommand is for supplying an expression to be evaluated into an address to watch for, while the second is for watching a variable. 'watchpoint set expression' is a raw command, which means that you need to use the "--" option terminator to end the '-w' or '-x' option processing and to start typing your expression. Also update several test cases to comply and add a couple of test cases into TestCompletion.py, in particular, test that 'watchpoint set ex' completes to 'watchpoint set expression ' and that 'watchpoint set var' completes to 'watchpoint set variable '. llvm-svn: 150109
* Added support to the expression parser for readingSean Callanan2012-02-081-17/+40
| | | | | | variables that are only available in symbols. llvm-svn: 150103
* fixing comment to reflect that currentversion of OSX works with our STL ↵Enrico Granata2012-02-081-1/+1
| | | | | | formatters llvm-svn: 150085
* In the absence of a valid process, the expressionSean Callanan2012-02-081-1/+6
| | | | | | | parser now at least tries to generate IR for the target. llvm-svn: 150079
* Version bump to 113.Jason Molenda2012-02-082-16/+16
| | | | llvm-svn: 150063
* Send Breakpoint Changed events for all the relevant changes to breakpoints.Jim Ingham2012-02-0819-71/+511
| | | | | | | Also, provide and use accessors for the thread options on breakpoints so we can control sending the appropriate events. llvm-svn: 150057
* Fixed ClangExpressionDeclMap to use the debugSean Callanan2012-02-081-45/+50
| | | | | | | | | | | information about the current frame rather than the debug information about "this" and "self" when determining the types of those pointers. This allows expressions to work in frames that don't have valid "this" and "self" pointers, working around poor debug information. llvm-svn: 150051
* Clarify the 'frame variable' help message regarding the watchpoint ↵Johnny Chen2012-02-081-1/+4
| | | | | | functionality. llvm-svn: 150039
* Update comment.Johnny Chen2012-02-081-1/+2
| | | | llvm-svn: 150036
* The IRInterpreter's constant evaluator wasn'tSean Callanan2012-02-081-12/+50
| | | | | | | | | | sufficiently general - it could only handle literals and operations that didn't change the data. Now the constant evaluator passes APInt values around, and can handle GetElementPtr constants. llvm-svn: 150034
OpenPOWER on IntegriCloud