- Nov 18, 2011
-
-
Sean Callanan authored
to allow variables in the persistent variable store to know how to complete themselves from debug information. That fixes a variety of bugs during dematerialization of expression results and also makes persistent variable and result variables ($foo, $4, ...) more useful. I have also added logging improvements that make it much easier to figure out how types are moving from place to place, and made some checking a little more aggressive. The commit includes patches to Clang which are currently being integrated into Clang proper; once these fixes are in Clang top-of-tree, these patches will be removed. The patches don't fix API; rather, they fix some internal bugs in Clang's ASTImporter that were exposed when LLDB was moving types from place to place multiple times. llvm-svn: 144969
-
Johnny Chen authored
llvm-svn: 144958
-
Johnny Chen authored
llvm-svn: 144945
-
Johnny Chen authored
llvm-svn: 144940
-
- Nov 17, 2011
-
-
Greg Clayton authored
file actions have been specified. llvm-svn: 144922
-
Johnny Chen authored
Use this option with care as you would need to build the inferior(s) by hand and build the executable(s) with the correct name(s). This option can be used with '-# n' to stress test certain test cases for n number of times. An example: [11:55:11] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ ls Makefile TestValueAPI.pyc linked_list TestValueAPI.py change_values main.c [11:55:14] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ make EXE=test_with_dsym clang -gdwarf-2 -O0 -arch x86_64 -c -o main.o main.c clang -gdwarf-2 -O0 -arch x86_64 main.o -o "test_with_dsym" /usr/bin/dsymutil -o "test_with_dsym.dSYM" "test_with_dsym" [11:55:20] johnny:/Volumes/data/lldb/svn/trunk/test/python_api/value $ cd ../.. [11:55:24] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dotest.py -v -# 10 -S -f ValueAPITestCase.test_with_dsym LLDB build dir: /Volumes/data/lldb/svn/trunk/build/Debug LLDB-89 Path: /Volumes/data/lldb/svn/trunk URL: https://johnny@llvm.org/svn/llvm-project/lldb/trunk Repository Root: https://johnny@llvm.org/svn/llvm-project Repository UUID: 91177308-0d34-0410-b5e6-96231b3b80d8 Revision: 144914 Node Kind: directory Schedule: normal Last Changed Author: gclayton Last Changed Rev: 144911 Last Changed Date: 2011-11-17 09:22:31 -0800 (Thu, 17 Nov 2011) Session logs for test failures/errors/unexpected successes will go into directory '2011-11-17-11_55_29' Command invoked: python ./dotest.py -v -# 10 -S -f ValueAPITestCase.test_with_dsym ---------------------------------------------------------------------- Collected 1 test 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 1.163s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.200s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.198s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.199s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.239s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 1.215s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.105s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.098s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 0.195s OK 1: test_with_dsym (TestValueAPI.ValueAPITestCase) Exercise some SBValue APIs. ... ok ---------------------------------------------------------------------- Ran 1 test in 1.197s OK [11:55:34] johnny:/Volumes/data/lldb/svn/trunk/test $ llvm-svn: 144919
-
Greg Clayton authored
monitoring on darwin in the host layer. llvm-svn: 144918
-
Johnny Chen authored
llvm-svn: 144915
-
Greg Clayton authored
llvm-svn: 144911
-
Greg Clayton authored
turned out to be unitialized data in the ProcessLaunchInfo default constructor. Turning on MallocScribble in the environment helped track this down. When we launch and attach using the host layer, we now inform the process that it shouldn't detach when by calling an accessor. llvm-svn: 144882
-
Greg Clayton authored
the thread specific data and were destroying the thread specfic data more than once. Also added the ability to ask a lldb::StateType if it is stopped with an additional paramter of "must_exist" which means that the state must be a stopped state for a process that still exists. This means that eStateExited and eStateUnloaded will no longer return true if "must_exist" is set to true. llvm-svn: 144875
-
Jim Ingham authored
llvm-svn: 144874
-
- Nov 16, 2011
-
-
Johnny Chen authored
llvm-svn: 144848
-
Johnny Chen authored
This helps track down possible zombie processes. llvm-svn: 144846
-
Sean Callanan authored
completion information between different AST contexts. It works like this: - If a Decl is imported from a context that has completion metadata, then that Decl is associated with the same completion information (possibly none) as the Decl it was imported from. - If a Decl is imported from a context that does not have completion metadata, then it is marked as completable by consulting the Decl and context it was imported from. llvm-svn: 144838
-
Sean Callanan authored
for each AST context it knows about in a single object. This makes it faster to look up the appropriate ASTImpoter for a given ASTContext pair and also makes it much easier to delete all metadata for a given AST context. In the future, this fix will allow the ClangASTImporter to propagate completion information between the metadata for different AST contexts as its minions move AST objects around. llvm-svn: 144835
-
Sean Callanan authored
handles opaque QualTypes. llvm-svn: 144813
-
Johnny Chen authored
llvm-svn: 144807
-
Sean Callanan authored
rather than individually on behalf of each ASTContext. This allows the ASTImporter to know about all containers of types, which will let it be smarter about forwarding information about type origins. That means that the following sequence of steps will be possible (after a few more changes): - Import a type from a Module's ASTContext into an expression parser ASTContext, tracking its origin information -- this works now. - Because the result of the expression uses that type, import it from the expression parser ASTContext into the Target's scratch AST context, forwarding the origin information -- this needs to be added. - For a later expression that uses the result, import the type from the Target's scratch AST context, still forwarding origin information -- this also needs to be added. - Use the intact origin information to complete the type as needed -- this works now if the origin information is present. To this end, I made the following changes: - ASTImporter top-level copy functions now require both a source and a destination AST context parameter. - The ASTImporter now knows how to purge records related to an ASTContext that is going away. - The Target now owns and creates the ASTImporter whenever the main executable changes or (in the absence of a main executable) on demand. llvm-svn: 144802
-
Greg Clayton authored
After recent changes we weren't reaping child processes resulting in many zombie processes. This was fixed by adding more settings to the ProcessLaunchOptions class that allow clients to specify a callback function and baton to be notified when their process dies. If one is not supplied a default callback will be used that "does the right thing". Cleaned up a race condition in the ProcessGDBRemote class that would attempt to monitor when debugserver died. Added an extra boolean to the process monitor callbacks that indicate if a process exited or not. If your process exited with a zero exit status and no signal, both items could be zero. Modified the process monitor functions to not require a callback function in order to reap the child process. llvm-svn: 144780
-
Sean Callanan authored
NULL-terminated C string to store the contents of the expression prefix file. This meant that expressions, when printing the contents of the prefix into the expression's text, would invariably put in bad data after the end of the expression. Now, instead, we store the prefix contents in a std::string, which handles null-termination correctly. llvm-svn: 144760
-
Sean Callanan authored
information about a nonexistent function declaration. llvm-svn: 144744
-
Sean Callanan authored
types. First, I added handling for the memset intrinsic in the IR, which is used to zero out the returned struct. Second, I fixed the object-checking instrumentation to objc_msgSend_stret, and generally tightened up how the object-checking functions get inserted. llvm-svn: 144741
-
Johnny Chen authored
While we are at it, verify that 'my_int_ptr' points to 'g_my_int', using the SBTarget.ResolveLoadAddress() to get its SBAddress, and SBAddress.GetSymbol() to get the corresponding symbol. llvm-svn: 144728
-
- Nov 15, 2011
-
-
Johnny Chen authored
llvm-svn: 144717
-
Sean Callanan authored
to complete types in the scratch AST context. llvm-svn: 144712
-
Sean Callanan authored
where isa is good enough. llvm-svn: 144704
-
Sean Callanan authored
ClangExpressionDeclMap, which actually uses the one it inherits from ClangASTSource. llvm-svn: 144702
-
Johnny Chen authored
llvm-svn: 144697
-
Johnny Chen authored
llvm-svn: 144693
-
Sean Callanan authored
would occasionally try to resolve the placeholder variable used for static data allocation. llvm-svn: 144677
-
Greg Clayton authored
llvm-svn: 144616
-
Greg Clayton authored
info for us to attach by pid, or by name and will also allow us to eventually do a lot more powerful attaches. If you look at the options for the "platform process list" command, there are many options which we should be able to specify. This will allow us to do things like "attach to a process named 'tcsh' that has a parent process ID of 123", or "attach to a process named 'x' which has an effective user ID of 345". I finished up the --shell implementation so that it can be used without the --tty option in "process launch". The "--shell" option now can take an optional argument which is the path to the shell to use (or a partial name like "sh" which we will find using the current PATH environment variable). Modified the Process::Attach to use the new ProcessAttachInfo as the sole argument and centralized a lot of code that was in the "process attach" Execute function so that everyone can take advantage of the powerful new attach functionality. llvm-svn: 144615
-
Sean Callanan authored
of problems with Objective-C object completion. To go along with the LLVM/Clang-side fixes, we have a variety of Objective-C improvements. Fixes include: - It is now possible to run expressions when stopped in an Objective-C class method and have "self" act just like "self" would act in the class method itself (i.e., [self classMethod] works without casting the return type if debug info is present). To accomplish this, the expression masquerades as a class method added by a category. - Objective-C objects can now provide methods and properties and methods to Clang on demand (i.e., the ASTImporter sets hasExternalVisibleDecls on Objective-C interface objects). - Objective-C built-in types, which had long been a bone of contention (should we be using "id"? "id*"?), are now fetched correctly using accessor functions on ClangASTContext. We inhibit searches for them in the debug information. There are also a variety of logging fixes, and I made two changes to the test suite: - Enabled a test case for Objective-C properties in the current translation unit. - Added a test case for calling Objective-C class methods when stopped in a class method. llvm-svn: 144607
-
Johnny Chen authored
llvm-svn: 144584
-
- Nov 14, 2011
-
-
Greg Clayton authored
llvm-svn: 144581
-
Jim Ingham authored
Confirm should accept both "Y" and "y" in case somebody confuses the "default answer" indicator for a directive to enter a capital letter. llvm-svn: 144562
-
Johnny Chen authored
llvm-svn: 144546
-
Johnny Chen authored
llvm-svn: 144545
-
Sean Callanan authored
a single argument. We assumed that the : was omitted from the selector name, but actually Clang adds the : in the one-argument case. llvm-svn: 144544
-