- Nov 16, 2010
-
-
Greg Clayton authored
llvm-svn: 119396
-
Johnny Chen authored
result including the session logs of test failures/errors as a MIME message. llvm-svn: 119371
-
Johnny Chen authored
llvm-svn: 119353
-
Caroline Tice authored
ReadThread stuff into the main Process class (out of the Process Plugins). This has the (intended) side effect of disabling the command line tool from reading input/commands while the process is running (the input is directed to the running process rather than to the command interpreter). llvm-svn: 119329
-
Jason Molenda authored
we're using the stack pointer to define the CFA again. Makes unwinds while sitting at the 'ret' instruction work, assuming we have accurate function address bounds. llvm-svn: 119327
-
Greg Clayton authored
It currently isn't working, but it should be close. I will work on this more when I figure out what I am not doing correctly. llvm-svn: 119324
-
- Nov 15, 2010
-
-
rdar://problem/8668740Johnny Chen authored
'frame variable' output for namespace variables look wrong llvm-svn: 119172
-
Johnny Chen authored
llvm-svn: 119171
-
Johnny Chen authored
plus expression command using fully qualified names. llvm-svn: 119168
-
Johnny Chen authored
Add test sequences for 'frame variable' address-of operator and 'frame variable' fully-qualified name variable. Also add some comments. llvm-svn: 119165
-
Johnny Chen authored
inside a ctor. llvm-svn: 119162
-
Johnny Chen authored
as both rdar://problem/8659840 and rdar://problem/8660275 have been fixed. llvm-svn: 119160
-
Greg Clayton authored
expression logging. Added some properties to the "objc" test. The expression parser can currently display properties that are backed by the default functions "expr myStr.string" will work. But it won't currently work when the property is backed by a different function such as "expr myStr.date". llvm-svn: 119103
-
Greg Clayton authored
Added recursive name lookup logging with depth which is commented out and is currently only enabled when we blow the stack. llvm-svn: 119101
-
Greg Clayton authored
llvm-svn: 119100
-
Greg Clayton authored
llvm-svn: 119091
-
- Nov 14, 2010
-
-
Greg Clayton authored
can too. So now the lldb_private::Variable class has support for this. Variables now have support for having a basename ("i"), and a mangled name ("_ZN12_GLOBAL__N_11iE"), and a demangled name ("(anonymous namespace)::i"). Nowwhen searching for a variable by name, users might enter the fully qualified name, or just the basename. So new test functions were added to the Variable and Mangled classes as: bool NameMatches (const ConstString &name); bool NameMatches (const RegularExpression ®ex); I also modified "ClangExpressionDeclMap::FindVariableInScope" to also search for global variables that are not in the current file scope by first starting with the current module, then moving on to all modules. Fixed an issue in the DWARF parser that could cause a varaible to get parsed more than once. Now, once we have parsed a VariableSP for a DIE, we cache the result even if a variable wasn't made so we don't do any re-parsing. Some DW_TAG_variable DIEs don't have locations, or are missing vital info that stops a debugger from being able to display anything for it, we parse a NULL variable shared pointer for these DIEs so we don't keep trying to reparse it. llvm-svn: 119085
-
Greg Clayton authored
types to their full definitions more than we needed to. This caused an assertion in the DWARF parser to fire -- which is an indication that we are parsing too much. llvm-svn: 119020
-
Greg Clayton authored
breakpoints on inlined functions by name. This involved fixing the DWARF parser to correctly back up and parse the concrete function when we find inlined functions by name, then grabbing any appropriate inlined blocks and returning symbol contexts with the block filled in. After this was fixed, the breakpoint by name resolver needed to correctly deal with symbol contexts that had the inlined block filled in in the symbol contexts. llvm-svn: 119017
-
- Nov 13, 2010
-
-
Greg Clayton authored
a debug map with DWARF in the .o files due to the attemted shortcut that was being taken where the global variables were being searched for by looking in the symbol table. The problem with the symbols in the symbol table is we don't break apart the symbol names for symbols when they are mangled into basename and the fully mangled name since this would take a lot of CPU time to chop up the mangled names and try and find the basenames. The DWARF info typically has this broken up for us where the basename of the variable is in a the DW_AT_name attribute, and the mangled name is in the DW_AT_MIPS_linkage_name attribute. Now we correctly find globals by searching all OSO's for the information so we can take advantage of this split information. llvm-svn: 119012
-
Greg Clayton authored
expression. This currently takes waaaayyyyy too much time to evaluate. We will need to look at the expression parser and find ways to optimize the info we provide and get this to evaluate quicker. I believe the performance issue is currently related to us always providing a complete C++ class type when asked about a C++ class which can cause a lot of information to be pulled since all classes will be fully created (methods, base classes, members, all their types). We will need to give the classes back the parser and mark them as having external sources and get parser (Sema) to query us when it needs more info. This should bring things up to an acceptable level. llvm-svn: 118979
-
Greg Clayton authored
cases when getting the clang type: - need only a forward declaration - need a clang type that can be used for layout (members and args/return types) - need a full clang type This allows us to partially parse the clang types and be as lazy as possible. The first case is when we just need to declare a type and we will complete it later. The forward declaration happens only for class/union/structs and enums. The layout type allows us to resolve the full clang type _except_ if we have any modifiers on a pointer or reference (both R and L value). In this case when we are adding members or function args or return types, we only need to know how the type will be laid out and we can defer completing the pointee type until we later need it. The last type means we need a full definition for the clang type. Did some renaming of some enumerations to get rid of the old "DC" prefix (which stands for DebugCore which is no longer around). Modified the clang namespace support to be almost ready to be fed to the expression parser. I made a new ClangNamespaceDecl class that can carry around the AST and the namespace decl so we can copy it into the expression AST. I modified the symbol vendor and symbol file plug-ins to use this new class. llvm-svn: 118976
-
- Nov 12, 2010
-
-
Johnny Chen authored
they are displayed correctly. llvm-svn: 118930
-
Jason Molenda authored
needs to use the current pc and current offset in two ways: To determine which function we are currently executing, and the decide how much of that function has executed so far. For the former use, we need to back up the saved pc value by one byte if we're going to use the correct function's unwind information -- we may be executing a CALL instruction at the end of a function and the following instruction belongs to a new function, or we may be looking at unwind information which only covers the call instruction and not the subsequent instruction. But when we're talking about deciding which row of an UnwindPlan to execute, we want to use the actual byte offset in the function, not the byte offset - 1. Right now RegisterContextLLDB is tracking both the "real" offset and an "offset minus one" and different parts of the class have to know which one to use and they need to be updated/set in tandem. I want to revisit this at some point. The second change made in looking up eh_frame information; it was formerly done by looking for the start address of the function we are currently executing. But it is possible to have unwind information for a function which only covers a small section of the function's address range. In which case looking up by the start pc value may not find the eh_frame FDE. The hand-written _sigtramp() unwind info on Mac OS X, which covers exactly one instruction in the middle of the function, happens to trigger both of these issues. I still need to get the UnwindPlan runner to handle arbitrary dwarf expressions in the FDE but there's a good chance it will be easy to reuse the DWARFExpression class to do this. llvm-svn: 118882
-
Sean Callanan authored
assembly as well as registers that changed. llvm-svn: 118879
-
Greg Clayton authored
llvm-svn: 118877
-
Jim Ingham authored
llvm-svn: 118876
-
Sean Callanan authored
object diagnostic expressions while we work on the logic for handling the timeout. llvm-svn: 118873
-
Sean Callanan authored
llvm-svn: 118872
-
Sean Callanan authored
logic that supported calling functions with arbitrary arguments. We use ClangFunction for this, and the low-level logic is only required to support one or two pointer arguments. llvm-svn: 118871
-
Johnny Chen authored
llvm-svn: 118869
-
Johnny Chen authored
They should not fail. llvm-svn: 118868
-
Johnny Chen authored
exercise 'expression' command on namespaced variables. llvm-svn: 118867
-
Greg Clayton authored
thread basic info state and not realize that a thread was already suspended or if a thread was starting up and not ready to be displayed to the user (in an uninterruptable state). If it is not user ready yet, we don't add it to our list of threads that can be played with. llvm-svn: 118866
-
Johnny Chen authored
rdar://problem/8659840 test failure: ./dotest.py -v -t -f NamespaceTestCase.test_with_dwarf_and_run_command llvm-svn: 118861
-
Johnny Chen authored
the architecture and compiler specs. llvm-svn: 118860
-
Johnny Chen authored
llvm-svn: 118856
-
- Nov 11, 2010
-
-
Johnny Chen authored
llvm-svn: 118851
-
Johnny Chen authored
to invoke the test driver. llvm-svn: 118847
-
Johnny Chen authored
llvm-svn: 118839
-