- Apr 19, 2012
-
-
Sean Callanan authored
disassembler fixes. The ARM disassembler is now crash-free on all opcodes. llvm-svn: 155149
-
- Apr 14, 2012
-
-
Sean Callanan authored
disassembler problems: - r153766, fixing a crash disassembling vmov - r154628, fixing relative branches - r154459, fixing a crash disassembling vld - r154544, fixing a crash disassembling vst llvm-svn: 154722
-
- Apr 13, 2012
-
-
Sean Callanan authored
the MC disassembler. llvm-svn: 154649
-
Greg Clayton authored
Expose GetAddressClass() from both the SBAddress and SBInstruction so clients can tell the difference between ARM/Thumb opcodes when disassembling ARM. llvm-svn: 154633
-
- Apr 11, 2012
-
-
Sean Callanan authored
Objective-C class doesn't have a definition but Clang tries to read through its protocols anyway. llvm-svn: 154538
-
Greg Clayton authored
llvm-svn: 154502
-
- Apr 02, 2012
-
-
Greg Clayton authored
Export the ability to see if a symbol is externally visible and also if the symbol was synthetically added to the symbol table (the symbol was not part of the symbol table itself but came from another section). llvm-svn: 153893
-
Jason Molenda authored
with some archs, tweak the way we update PATH to fix that. llvm-svn: 153868
-
- Apr 01, 2012
-
-
Sean Callanan authored
JIT that enables paired relocations in the i386 Mach-O JIT. This eliminates crashes in the testsuite when running under i386. llvm-svn: 153822
-
- Mar 29, 2012
-
-
Enrico Granata authored
Part 1 of a series of fixes meant to improve reliability and increase ease of bug fixing for data formatter issues. We are introducing a new Logger class on the Python side. This has the same purpose, but is unrelated, to the C++ logging facility The Pythonic logging can be enabled by using the following scripting commands: (lldb) script Logger._lldb_formatters_debug_level = {0,1,2,...} 0 = no logging 1 = do log 2 = flush after logging each line - slower but safer 3 or more = each time a Logger is constructed, log the function that has created it more log levels may be added, each one being more log-active than the previous by default, the log output will come out on your screen, to direct it to a file: (lldb) script Logger._lldb_formatters_debug_filename = 'filename' that will make the output go to the file - set to None to disable the file output and get screen logging back Logging has been enabled for the C++ STL formatters and for Cocoa class NSData - more logging will follow synthetic children providers for classes list and map (both libstdcpp and libcxx) now have internal capping for safety reasons this will fix crashers where a malformed list or map would not ever meet our termination conditions to set the cap to a different value: (lldb) script {gnu_libstdcpp|libcxx}.{map|list}_capping_size = new_cap (by default, it is 255) you can optionally disable the loop detection algorithm for lists (lldb) script {gnu_libstdcpp|libcxx}.list_uses_loop_detector = False llvm-svn: 153676
-
- Mar 28, 2012
-
-
Sean Callanan authored
with recent Clang. Clang is now stricter about presence of complete types and about use of the "template" keyword in C++ for template-dependent types. llvm-svn: 153563
-
- Mar 27, 2012
-
-
Enrico Granata authored
llvm-svn: 153541
-
Enrico Granata authored
Synthetic values are now automatically enabled and active by default. SBValue is set up to always wrap a synthetic value when one is available. A new setting enable-synthetic-value is provided on the target to disable this behavior. There also is a new GetNonSyntheticValue() API call on SBValue to go back from synthetic to non-synthetic. There is no call to go from non-synthetic to synthetic. The test suite has been changed accordingly. Fallout from changes to type searching: an hack has to be played to make it possible to use maps that contain std::string due to the special name replacement operated by clang Fixing a test case that was using libstdcpp instead of libc++ - caught as a consequence of said changes to type searching llvm-svn: 153495
-
- Mar 26, 2012
-
-
rdar://problem/11022964Sean Callanan authored
Patched LLVM to handle generic i386 relocations. This avoids some sudden termination problems on i386 where the JIT would exit() out reporting "Invalid CPU type!" llvm-svn: 153467
-
- Mar 24, 2012
-
-
Enrico Granata authored
Adding a new API call IsTypeComplete() to SBType. This call is meant to check if the type has been previously completed or not (which is mostly interesting from a performance point of view) Adding a test case that checks that we do not complete types before due time. This should help us track cases similar to the cascading data formatters. llvm-svn: 153363
-
- Mar 22, 2012
-
-
Sean Callanan authored
crash in disassembly of VST instructions. llvm-svn: 153265
-
- Mar 21, 2012
-
-
Sean Callanan authored
relocations (LLVM revision 153147). Now when we report section locations in the target process, LLVM will apply both those relocations whose targets are in that section and those relocations which reside in that section and point to other sections. llvm-svn: 153199
-
- Mar 19, 2012
-
-
Enrico Granata authored
Massive enumeration name changes: a number of enums in ValueObject were not following the naming pattern Changes to synthetic children: - the update(self): function can now (optionally) return a value - if it returns boolean value True, ValueObjectSyntheticFilter will not clear its caches across stop-points this should allow better performance for Python-based synthetic children when one can be sure that the child ValueObjects have not changed - making a difference between a synthetic VO and a VO with a synthetic value: now a ValueObjectSyntheticFilter will not return itself as its own synthetic value, but will (correctly) claim to itself be synthetic - cleared up the internal synthetic children architecture to make a more consistent use of pointers and references instead of shared pointers when possible - major cleanup of unnecessary #include, data and functions in ValueObjectSyntheticFilter itself - removed the SyntheticValueType enum and replaced it with a plain boolean (to which it was equivalent in the first place) Some clean ups to the summary generation code Centralized the code that clears out user-visible strings and data in ValueObject More efficient summaries for libc++ containers llvm-svn: 153061
-
- Mar 17, 2012
-
-
Sean Callanan authored
ARM assembly syntax in LLVM. This allows LLDB to build with the latest Clang. llvm-svn: 152965
-
- Mar 16, 2012
-
-
Johnny Chen authored
Export the APIs submitted by Dawn to the Python bindings. Add a simple test case for the SBModule.compile_unit_iter() API. llvm-svn: 152952
-
Sean Callanan authored
- Clang now completes all Objective-C objects (if they are not already complete, and they have external lexical sources) during structure layout, avoiding a LLDB crash. - The Clang Decl printer handles reference types correctly. This prevents LLDB from crashing when expression logging is enabled. llvm-svn: 152897
-
- Mar 12, 2012
-
-
http://libcxx.llvm.orgEnrico Granata authored
std::string has a summary provider std::vector std::list and std::map have both a summary and a synthetic children provider Given the usage of a custom namespace (std::__1::classname) for the implementation of libc++, we keep both libstdcpp and libc++ formatters enabled at the same time since that raises no conflicts and enabled for seamless transition between the two The formatters for libc++ reside in a libcxx category, and are loaded from libcxx.py (to be found in examples/synthetic) The formatters-stl test cases have been divided to be separate for libcxx and libstdcpp. This separation is necessary because (a) we need different compiler flags for libc++ than for libstdcpp (b) libc++ inlines a lot more than libstdcpp and some code changes were required to accommodate this difference llvm-svn: 152570
-
- Mar 08, 2012
-
-
Sean Callanan authored
This takes two important changes: - Calling blocks is now supported. You need to cast their return values, but that works fine. - We now can correctly run JIT-compiled expressions that use floating-point numbers. Also, we have taken a fix that allows us to ignore access control in Objective-C as in C++. llvm-svn: 152286
-
- Mar 06, 2012
-
-
Greg Clayton authored
This was done in SBTarget: lldb::SBInstructionList lldb::SBTarget::ReadInstructions (lldb::SBAddress base_addr, uint32_t count); Also cleaned up a few files in the LLDB.framework settings. llvm-svn: 152152
-
Jim Ingham authored
Add a command and an SB API to create exception breakpoints. Make the break output prettier for Exception breakpoints. llvm-svn: 152081
-
- Mar 05, 2012
-
-
Enrico Granata authored
llvm-svn: 152053
-
Johnny Chen authored
Add SBFrame::IsEqual(const SBFrame &that) method and export it to the Python binding. Alos add a test case test_frame_api_IsEqual() to TestFrames.py file. llvm-svn: 152050
-
- Mar 03, 2012
-
-
Enrico Granata authored
fixed a few potential NULL-pointer derefs in ValueObject we have a way to provide docstrings for properties we add to the SWIG layer - a few of these properties have a docstring already, more will come in future commits added a new bunch of properties to SBData to make it more natural and Python-like to access the data they contain llvm-svn: 151962
-
- Mar 02, 2012
-
-
Enrico Granata authored
NSTimeZone and CFTimeZonRef SEL and related types CFGregorianDate llvm-svn: 151866
-
- Mar 01, 2012
-
-
Enrico Granata authored
(b) fixes and improvements to the formatters for NSDate and NSString (c) adding an introspection formatter for NSCountedSet (d) making the Objective-C formatters test cases pass on both 64 and 32 bit one of the test cases is marked as expected failure on i386 - support needs to be added to the LLDB core for it to pass llvm-svn: 151826
-
Sean Callanan authored
allocations by section. We install these sections in the target process and inform the JIT of their new locations. Also removed some unused variable warnings. llvm-svn: 151789
-
- Feb 29, 2012
-
-
Enrico Granata authored
a) adds a Python summary provider for NSDate b) changes the initialization for ScriptInterpreter so that we are not passing a bulk of Python-specific function pointers around c) provides a new ScriptInterpreterObject class that allows for ref-count safe wrapping of scripting objects on the C++ side d) contains much needed performance improvements: 1) the pointer to the Python function generating a scripted summary is now cached instead of looked up every time 2) redundant memory reads in the Python ObjC runtime wrapper are eliminated 3) summaries now use the m_summary_str in ValueObject to store their data instead of passing around ( == copying) an std::string object e) contains other minor fixes, such as adding descriptive error messages for some cases of summary generation failure llvm-svn: 151703
-
- Feb 25, 2012
-
-
Greg Clayton authored
getting, setting, and checking. llvm-svn: 151408
-
- Feb 24, 2012
-
-
Greg Clayton authored
llvm-svn: 151392
-
Greg Clayton authored
will fill out either a SBLaunchInfo or SBAttachInfo class, then call: SBProcess SBTarget::Launch (SBLaunchInfo &, SBError &); SBProcess SBTarget::Attach (SBAttachInfo &, SBError &); The attach is working right now and allows the ability to set many filters such as the parent process ID, the user/group ID, the effective user/group ID, and much more. The launch is not yet working, but I will get this working soon. By changing our launch and attach calls to take an object, it allows us to add more capabilities to launching and attaching without having to have launch and attach functions that take more and more arguments. Once this is all working we will deprecated the older launch and attach fucntions and eventually remove them. llvm-svn: 151344
-
Sean Callanan authored
Intel disassembler usable. Also flipped the switch: we are now exclusively using Disassembler.h instead of EnhancedDisassembly.h for all disassembly in LLDB. llvm-svn: 151306
-
Enrico Granata authored
The formatter for NSString is an improved version of the one previously shipped as an example, the others are new in design and implementation. A more robust and OO-compliant Objective-C runtime wrapper is provided for runtime versions 1 and 2 on 32 and 64 bit. The formatters are contained in a category named "AppKit", which is not enabled at startup. llvm-svn: 151299
-
- Feb 23, 2012
-
-
Enrico Granata authored
typemaps to allow Python to invoke the new SBModule::GetVersion() API. Memory management is taken care of automatically so that Python users can simply say my_list = my_module.GetVersion() and receive a new list with the version numbers, if any, inside. llvm-svn: 151271
-
- Feb 22, 2012
-
-
Greg Clayton authored
subclasses if the object files support version numbering. Exposed this through SBModule for upcoming data formatter version checking stuff. llvm-svn: 151190
-
- Feb 21, 2012
-
-
Jason Molenda authored
is not available (LLDB_DISABLE_PYTHON is defined). Change build-swig-Python.sh to emit an empty LLDBPythonWrap.cpp file if this build is LLDB_DISABLE_PYTHON. Change the "Copy to Xcode.app" shell script phase in the lldb.xcodeproj to only do this copying for Mac native builds. llvm-svn: 151035
-