- Nov 16, 2011
-
-
Johnny Chen authored
This helps track down possible zombie processes. llvm-svn: 144846
-
Johnny Chen authored
llvm-svn: 144807
-
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
-
Johnny Chen authored
llvm-svn: 144697
-
Johnny Chen authored
llvm-svn: 144693
-
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
-
-
Johnny Chen authored
llvm-svn: 144546
-
Johnny Chen authored
llvm-svn: 144545
-
Greg Clayton authored
llvm-svn: 144539
-
- Nov 13, 2011
-
-
rdar://problem/10338439Greg Clayton authored
This is the actual fix for the above radar where global variables that weren't initialized were not being shown correctly when leaving the DWARF in the .o files. Global variables that aren't intialized have symbols in the .o files that specify they are undefined and external to the .o file, yet document the size of the variable. This allows the compiler to emit a single copy, but makes it harder for our DWARF in .o files with the executable having a debug map because the symbol for the global in the .o file doesn't exist in a section that we can assign a fixed up linked address to, and also the DWARF contains an invalid address in the "DW_OP_addr" location (always zero). This means that the DWARF is incorrect and actually maps all such global varaibles to the first file address in the .o file which is usually the first function. So we can fix this in either of two ways: make a new fake section in the .o file so that we have a file address in the .o file that we can relink, or fix the the variable as it is created in the .o file DWARF parser and actually give it the file address from the executable. Each variable contains a SymbolContextScope, or a single pointer that helps us to recreate where the variables came from (which module, file, function, etc). This context helps us to resolve any file addresses that might be in the location description of the variable by pointing us to which file the file address comes from, so we can just replace the SymbolContextScope and also fix up the location, which we would have had to do for the other case as well, and update the file address. Now globals display correctly. The above changes made it possible to determine if a variable is a global or static variable when parsing DWARF. The DWARF emits a DW_TAG_variable tag for each variable (local, global, or static), yet DWARF provides no way for us to classify these variables into these categories. We can now detect when a variable has a simple address expressions as its location and this will help us classify these correctly. While making the above changes I also noticed that we had two symbol types: eSymbolTypeExtern and eSymbolTypeUndefined which mean essentially the same thing: the symbol is not defined in the current object file. Symbol objects also have a bit that specifies if a symbol is externally visible, so I got rid of the eSymbolTypeExtern symbol type and moved all code locations that used it to use the eSymbolTypeUndefined type. llvm-svn: 144489
-
- Nov 12, 2011
-
-
Johnny Chen authored
llvm-svn: 144450
-
Jim Ingham authored
llvm-svn: 144440
-
- Nov 08, 2011
-
-
Jim Ingham authored
Do a better job of detecting when a breakpoint command has set the target running again (except you have to ignore cases where the breakpoint runs expressions, those don't count as really "running again"). llvm-svn: 144064
-
Greg Clayton authored
be in the target. All of the environment, args, stdin/out/err files, etc have all been moved. Also re-enabled the ability to launch a process in a separate terminal on MacOSX. llvm-svn: 144061
-
Johnny Chen authored
Fix the test suite failure. The particular line in the test case was there since the initial version dated 2010-21-15. The test started failure recently probably due to work done on the command parsing. Anyway, the specific test sequence is invalid and is fixed now. llvm-svn: 144039
-
- Nov 07, 2011
-
-
Enrico Granata authored
a) adds a new --synchronicity (-s) setting for "command script add" that allows the user to decide if scripted commands should run synchronously or asynchronously (which can make a difference in how events are handled) b) clears up several error messages c) adds a new --allow-reload (-r) setting for "command script import" that allows the user to reload a module even if it has already been imported before d) allows filename completion for "command script import" (much like what happens for "target create") e) prevents "command script add" from replacing built-in commands with scripted commands f) changes AddUserCommand() to take an std::string instead of a const char* (for performance reasons) plus, it fixes an issue in "type summary add" command handling which caused several test suite errors llvm-svn: 144035
-
- Nov 02, 2011
-
-
Sean Callanan authored
correctly, and added a testcase to check that it works. The main problem here is that Objective-C class method selectors are external references stored in a special data structure in the LLVM IR module for an expression. I just had to extract them and ensure that the real class object locations were properly resolved. llvm-svn: 143520
-
- Nov 01, 2011
-
-
Johnny Chen authored
llvm-svn: 143476
-
Johnny Chen authored
'::my_uint_t', 'anon_uint = 0' from: '(my_uint_t) anon_uint = 0' to make the test suite clean with ToT. llvm-svn: 143474
-
Jim Ingham authored
"object borked"... Also made the error when the checker fails reflect this fact rather than report a crash at 0x0. Also a little cleanup: - StopInfoMachException had a redundant copy of the description string. - ThreadPlanCallFunction had a redundant copy of the thread, and had a copy of the process that it didn't really need. llvm-svn: 143419
-
Johnny Chen authored
rdar://problem/10373783 llvm-svn: 143396
-
Johnny Chen authored
Radar to be filed soon. llvm-svn: 143395
-
Daniel Dunbar authored
tests. llvm-svn: 143394
-
- Oct 31, 2011
-
-
Johnny Chen authored
llvm-svn: 143372
-
Johnny Chen authored
llvm-svn: 143361
-
Johnny Chen authored
Example: [11:33:09] johnny:/Volumes/data/lldb/svn/trunk/test $ ./dosep.ty -o "-v -n" dotest.py options: -v -n Running /Volumes/data/lldb/svn/trunk/test/dotest.py -v -n -p TestPublicAPIHeaders.py /Volumes/data/lldb/svn/trunk/test/api/check_public_api_headers 1: test_sb_api_directory (TestPublicAPIHeaders.SBDirCheckerCase) Test the SB API directory and make sure there's no unwanted stuff. ... ok ---------------------------------------------------------------------- Ran 1 test in 4.404s OK Running /Volumes/data/lldb/svn/trunk/test/dotest.py -v -n -p TestEmulations.py /Volumes/data/lldb/svn/trunk/test/arm_emulation 1: test_arm_emulations (TestEmulations.ARMEmulationTestCase) ... ok 2: test_thumb_emulations (TestEmulations.ARMEmulationTestCase) ... ok ---------------------------------------------------------------------- Ran 2 tests in 1.399s OK ... llvm-svn: 143355
-
Peter Collingbourne authored
instead of replacing it. llvm-svn: 143323
-
- Oct 29, 2011
-
-
Johnny Chen authored
CommandInterpreter::PreprocessCommand() should not infinite loop when a target has not been specified yet. llvm-svn: 143274
-
Johnny Chen authored
llvm-svn: 143261
-
- Oct 28, 2011
-
-
Johnny Chen authored
llvm-svn: 143210
-
Johnny Chen authored
llvm-svn: 143207
-
Johnny Chen authored
Print out the version of the locally built 'lldb' binary, not the one found in your PATH env variable. llvm-svn: 143170
-
Johnny Chen authored
This benchmark is meant to run the locally built 'lldb' binary, not the binary on the PATH env variable. llvm-svn: 143169
-
- Oct 27, 2011
-
-
Johnny Chen authored
llvm-svn: 143121
-
Johnny Chen authored
watchpoint creation output due to wrong debug info from clang. It has been fixed. llvm-svn: 143118
-
Greg Clayton authored
in the same hashed format as the ".apple_names", but they map objective C class names to all of the methods and class functions. We need to do this because in the DWARF the methods for Objective C are never contained in the class definition, they are scattered about at the translation unit level and they don't even have attributes that say the are contained within the class itself. Added 3 new formats which can be used to display data: eFormatAddressInfo eFormatHexFloat eFormatInstruction eFormatAddressInfo describes an address such as function+offset and file+line, or symbol + offset, or constant data (c string, 2, 4, 8, or 16 byte constants). The format character for this is "A", the long format is "address". eFormatHexFloat will print out the hex float format that compilers tend to use. The format character for this is "X", the long format is "hex float". eFormatInstruction will print out disassembly with bytes and it will use the current target's architecture. The format character for this is "i" (which used to be being used for the integer format, but the integer format also has "d", so we gave the "i" format to disassembly), the long format is "instruction". Mate the lldb::FormatterChoiceCriterion enumeration private as it should have been from the start. It is very specialized and doesn't belong in the public API. llvm-svn: 143114
-
Johnny Chen authored
llvm-svn: 143087
-
Johnny Chen authored
inferior program for the lldb debugger to operate on. The fixed lldb executable corresponds to r142902. Plus some minor modifications to the test benchmark to conform to way bench.py is meant to be invoked. llvm-svn: 143075
-