summaryrefslogtreecommitdiffstats
path: root/lldb
Commit message (Collapse)AuthorAgeFilesLines
* <rdar://problem/13502196>Greg Clayton2013-03-261-1/+12
| | | | | | We have the tag when figuring out the fully qualified name, append a suitable name for other types of tags when no name is available. llvm-svn: 177966
* <rdar://problem/13502196> Greg Clayton2013-03-262-2/+14
| | | | | | Functions in "(anonymous namespace)" was causing LLDB to crash when trying to complete a type and it would also cause functions arguments to appear in wrong place in frame display when showing function arguments. llvm-svn: 177965
* Make the stepping perf test case actually work.Jim Ingham2013-03-263-39/+308
| | | | llvm-svn: 177964
* <rdar://problem/13221060>Enrico Granata2013-03-261-0/+15
| | | | | | | | | | | | | | | | | | | Make register read and write accept $<regname> as valid. This allows: (lldb) reg read rbx rbx = 0x0000000000000000 (lldb) reg read $rbx rbx = 0x0000000000000000 (lldb) reg write $rbx 1 (lldb) reg read $rbx rbx = 0x0000000000000001 to function correctly It is not done at the RegisterContext level because we should keep the internal API clean of this user-friendly behavior and name registers appropriately. If this ends up being needed in more places we can reconsider. llvm-svn: 177961
* Checking that the wrong syntax does not give a correct summary after ↵Enrico Granata2013-03-261-0/+6
| | | | | | clearing the error messages here llvm-svn: 177949
* Modified patch from Prabhat Verma to enable loading core files through the ↵Greg Clayton2013-03-253-0/+43
| | | | | | SBTarget API. llvm-svn: 177932
* Fix the buildbot so a LLDB test doesn't fail looking for "<invalid usage of ↵Greg Clayton2013-03-251-6/+0
| | | | | | pointer value as object>". llvm-svn: 177926
* <rdar://problem/13498879> Greg Clayton2013-03-251-9/+2
| | | | | | C String summary is emitting "<invalid usage of pointer value as object>" for bad pointers. Now it doesn't emit anything. llvm-svn: 177913
* <rdar://problem/13498504>Han Ming Ong2013-03-252-11/+36
| | | | | | Don't hard code vm page size in profiling code llvm-svn: 177907
* <rdar://problem/13404009>Han Ming Ong2013-03-251-2/+2
| | | | | | Only get the attach_info's user ID if the supplied user info is invalid. llvm-svn: 177900
* <rdar://problem/13365424>Enrico Granata2013-03-252-17/+19
| | | | | | | | | | | | | | | | | Ensure that option -Y also works for expression as it does for frame variable Also, if the user passes an explicit format specifier when printing a variable, override the summary's decision to hide the value. This is required for scenarios like this to work: (lldb) p/x c (Class) $0 = 0x0000000100adb7f8 NSObject Previously this would say: (lldb) p/x c (Class) $0 = NSObject ignoring the explicit format specifier llvm-svn: 177893
* <rdar://problem/13434476>Enrico Granata2013-03-251-4/+31
| | | | | | | | | | | | Making value objects properly iterable in constructs of the form [ x for x in value_with_children ] This would previously cause an endless loop because lacking a proper iterator object, Python will keep calling __getitem__() with increasing values of the index until it gets an IndexError since SBValue::GetValueForExpressionPath() supports synthetic array members, no array index will ever really cause an IndexError to be raised, hence the endless iteration class value_iter is an implementation of __iter__() that provides a terminating iterator over a value llvm-svn: 177885
* Fixed a potential crash if layout for a structureSean Callanan2013-03-251-1/+4
| | | | | | | | | went wrong and we tried to get layout information that wasn't there. <rdar://problem/13490170> llvm-svn: 177880
* These test cases fail on the buildbot - skip on Linux for now, will figure ↵Enrico Granata2013-03-252-0/+2
| | | | | | out why llvm-svn: 177879
* - Masking out SBCommandReturnObject::Printf() from the Python layer because ↵Enrico Granata2013-03-253-6/+34
| | | | | | | | | | SWIG and varargs do not get along well. It is replaced by a Print("str") call which is equivalent to Printf("%s","str") - Providing file-like behavior for SBStream with appropriate extension write() and flush() calls, plus documenting that these are only meant and only exist for Python Documenting the file-like behavior on our website llvm-svn: 177877
* Add two additional DNBLog's in places where we're about to killJason Molenda2013-03-232-0/+2
| | | | | | | | off the inferior process so we stand a better chance of understanding what caused us to send a PT_KILL. <rdar://problem/12720340> llvm-svn: 177817
* Set the correct byte size for complex integer (-fI) memory reads.Jason Molenda2013-03-231-0/+8
| | | | | | <rdar://problem/12281172> llvm-svn: 177814
* And then again only compute the more expensive piece of data if need be :-)Enrico Granata2013-03-231-1/+1
| | | | llvm-svn: 177812
* Added a python version of the performance tests. It will be good to see if ↵Greg Clayton2013-03-231-0/+197
| | | | | | the overhead of python interferes at all with our performance readings. We can try things out with this script and see how things go. llvm-svn: 177811
* Invert two condition checks to evaluate them in cheapest-to-more-expensive orderEnrico Granata2013-03-231-2/+2
| | | | llvm-svn: 177810
* Added better measurements to test:Greg Clayton2013-03-231-28/+46
| | | | | | | | | | - memory delta and time for: target create - memory delta and time for: setting breakpoint at main by name - time to launch and hit bp at main - overall memory of target create + bp main + run to main - ovarall time of target create + bp main + run to main llvm-svn: 177808
* <rdar://problem/13312903>Enrico Granata2013-03-231-0/+7
| | | | | | | | | | | | | | Exports write() and flush() from SBCommandReturnObject to enable file-like output from Python commands. e.g.: def ls(debugger, command, result, internal_dict): print >>result,”just “some output” will produce (lldb) ls just “some output (lldb) llvm-svn: 177807
* <rdar://problem/13315663>Enrico Granata2013-03-231-9/+32
| | | | | | | | commands of the form frame variable -f c-string foo where foo is an arbitrary pointer (e.g. void*) now do the right thing, i.e. they deref the pointer and try to get a c-string at the pointed address instead of dumping the pointer bytes as a string. the old behavior is used as a fallback if things don’t go well llvm-svn: 177799
* If there are multiple uses of an Objective-CSean Callanan2013-03-231-8/+12
| | | | | | | | | class symbol in the same expression, handle all of them instead of just the first one. <rdar://problem/13440133> llvm-svn: 177794
* Only get the script interpreter if we find scripting resources in the symbol ↵Greg Clayton2013-03-231-13/+13
| | | | | | file. This helps us avoid initializing python when it isn't needed. llvm-svn: 177793
* Don't need to resolve the .o file path.Greg Clayton2013-03-231-1/+1
| | | | llvm-svn: 177792
* Make sure the "Release" builds link against the "Release" LLDB.framework and ↵Greg Clayton2013-03-233-21/+30
| | | | | | also output the results to /dev/stdout when no outfile is supplied. llvm-svn: 177791
* Change debugserver to open the socket it listensJason Molenda2013-03-233-10/+22
| | | | | | | | | | | | | | | to in INADDR_LOOPBACK mode by default ("localhost only") instead of INADDR_ANY ("accept connections from any system"). Add a new command line argument to debugserver, --open-connection or -H which will enable the previous behavior. It would be used if you were doing two-system debugging, with lldb running on one system and debugserver running on the other. But it is a less common workflow and should not be the default. <rdar://problem/12583284> llvm-svn: 177790
* Fix a little fallout from the changes in r174757 where we wouldJason Molenda2013-03-231-9/+0
| | | | | | | | skip every other float/double/long double as we extracted data from a buffer. <rdar://problem/13485062> llvm-svn: 177779
* Don't bother calling Reserve on the vector unless we have entries to be added.Jason Molenda2013-03-221-1/+2
| | | | llvm-svn: 177776
* Add a Reserve method to RangeVector and RangeDataVector. Have theJason Molenda2013-03-222-2/+16
| | | | | | | | DWARFCallFrameInfo method which returns a RangeVector pre-size the vector based on the number of entries it will be adding insted of growing the vector as items are added. llvm-svn: 177773
* Added option parsing to the lldb_perf_clang performance test.Greg Clayton2013-03-221-9/+225
| | | | llvm-svn: 177759
* More cleanup to remove the CoreFoundation classes out of mainstream code ↵Greg Clayton2013-03-225-67/+2
| | | | | | (CFCMutableDictionary, CFCMutableArray, CFCString, etc). Now it is only used in the Results.cpp file for Apple builds only. llvm-svn: 177697
* Much more cleanup on the performance testing infrastructure:Greg Clayton2013-03-2219-371/+1183
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Added new abtract Results class to keep CoreFoundation out of the tests. There are many subclasses for different settings: Results::Result::Dictionary Results::Result::Array Results::Result::Unsigned Results::Result::Double Results::Result::String - Gauge<T> can now write themselves out via a templatized write to results function: template <class T> Results::ResultSP GetResult (const char *description, T value); - There are four specializations of this so far: template <> Results::ResultSP GetResult (const char *description, double value); template <> Results::ResultSP GetResult (const char *description, uint64_t value); template <> Results::ResultSP GetResult (const char *description, std::string value); template <> Results::ResultSP GetResult (const char *description, MemoryStats value); - Don't emit the virtual memory reading from the task info call as it really doesn't mean much as it includes way too much (shared cache + other stuff we don't have control over) - Fixed other test cases to build correctly and use the new classes llvm-svn: 177696
* Change the AppleObjCTrampolineHandler to always run all threads when ↵Jim Ingham2013-03-222-1/+11
| | | | | | | | | | | resolving the target of an ObjC method call. Add a StopOthers method to AppleThreadPlanStepThroughObjCTrampoline, don't rely on the setting in the ThreadPlanToCallFunction, since that gets pushed too late to determine which threads will continue. <rdar://problem/13447638> llvm-svn: 177691
* Don't try to read the eh_frame section out of a dSYM.Jason Molenda2013-03-221-1/+5
| | | | | | It won't have one and it isn't needed. llvm-svn: 177688
* Modified the way we report fields of records.Sean Callanan2013-03-213-5/+33
| | | | | | | | | | | | | | | Clang requires them to have complete types, but we were previously only completing them if they were of tag or Objective-C object types. I have implemented a method on the ASTImporter whose job is to complete a type. It handles not only the cases mentioned above, but also array and atomic types. <rdar://problem/13446777> llvm-svn: 177672
* If we stopped but no threads had a reason for stopping, we should tell the ↵Jim Ingham2013-03-211-1/+16
| | | | | | | | user about it rather than continuing. <rdar://problem/13273125> Astris thread status replies for single-core device confuse lldb; lldb resumes execution on attaching llvm-svn: 177670
* Remove some commented out code.Jim Ingham2013-03-211-8/+0
| | | | llvm-svn: 177668
* Select correct -std flag for CMake for different versions of gcc.Matt Kopec2013-03-211-1/+10
| | | | llvm-svn: 177663
* The outline of the stepping perf test case, doesn't do anything yet.Jim Ingham2013-03-213-17/+313
| | | | llvm-svn: 177646
* Add correct file headers to all source files.Greg Clayton2013-03-2115-56/+80
| | | | llvm-svn: 177625
* Add a new method GetFunctionAddressAndSizeVector to DWARFCallFrameInfo.Jason Molenda2013-03-213-3/+71
| | | | | | | | | | | | | | | | | | | | | | | This returns a vector of <file address, size> entries for all of the functions in the module that have an eh_frame FDE. Update ObjectFileMachO to use the eh_frame FDE function addresses if the LC_FUNCTION_STARTS section is missing, to fill in the start addresses of any symbols that have been stripped from the binary. Generally speaking, lldb works best if it knows the actual start address of every function in a module - it's especially important for unwinding, where lldb inspects the instructions in the prologue of the function. In a stripped binary, it is deprived of this information and it reduces the quality of our unwinds and saved register retrieval. Other ObjectFile users may want to use the function addresses from DWARFCallFrameInfo to fill in any stripped symbols like ObjectFileMachO does already. <rdar://problem/13365659> llvm-svn: 177624
* Modify code to adhere to LLDB coding conventions.Greg Clayton2013-03-2110-166/+192
| | | | llvm-svn: 177623
* Added a lldb-perf test case that will be used to time various aspects of ↵Greg Clayton2013-03-213-0/+269
| | | | | | | | debugging clang with LLDB. This test case will measure memory usage and expression timings in frame zero and at higher frames. llvm-svn: 177617
* Fixed the ValidOffsetForDataOfSize() to use simpler logic. Fixed ↵Greg Clayton2013-03-213-32/+17
| | | | | | DataExtractor::BytesLeft() to return the correct value. llvm-svn: 177616
* Simplify the logic for DNBDataRef::ValidOffsetForDataOfSize() and ↵Greg Clayton2013-03-211-2/+16
| | | | | | DNBDataRef::ValidOffset() functions. llvm-svn: 177615
* Making a manual mode of operation for measurements, where you can manually ↵Enrico Granata2013-03-202-10/+54
| | | | | | | | | | call start() and stop() instead of using the function-call syntax This is especially useful to take measurements that span multiple test steps, or where you need to have different operations fall under the same measurement An example of use is in the formatters perf test case llvm-svn: 177597
* Making the test step count a member variable so that it can be accessed easilyEnrico Granata2013-03-202-8/+16
| | | | llvm-svn: 177594
* Renaming perf. main files from main.cpp to something meaningfulEnrico Granata2013-03-203-8/+8
| | | | llvm-svn: 177587
OpenPOWER on IntegriCloud