- May 25, 2011
-
-
Johnny Chen authored
llvm-svn: 132019
-
Johnny Chen authored
llvm-svn: 132018
-
Johnny Chen authored
method definition before other method definitions. Instead, do without it and process the class with IsValid() method definition in all possible states. llvm-svn: 132016
-
- May 24, 2011
-
-
Johnny Chen authored
llvm-svn: 132002
-
- May 23, 2011
-
-
Sean Callanan authored
into the mainline LLDB codebase. MCJIT introduces API improvements and better architectural support. This commit adds a new subsystem, the ProcessDataAllocator, which is responsible for performing static data allocations on behalf of the IR transformer. MCJIT currently does not support the relocations required to store the constant pool in the same allocation as the function body, so we allocate a heap region separately and redirect static data references from the expression to that heap region in a new IR modification pass. This patch also fixes bugs in the IR transformations that were exposed by the transition to the MCJIT. Finally, the patch also pulls in a more recent revision of LLVM so that the MCJIT is available for use. llvm-svn: 131923
-
- May 20, 2011
-
-
Greg Clayton authored
the "payload_length" argument for the "payload" packet data. This meant we could end up sending random extra data with a packet depending on how the packet was constructed. Fixed GDBRemoteRegisterContext to properly save and restore all registers. Previous fixes had been added to work around the "payload_length" issues fixed above and aren't needed anymore. Fix logging in GDBRemoteCommunication to make sure we log the correct packet data being sent by using the packet length when dumping the packet contents. Added register definitions for 'arm-lldb' in the "disasm-gdb-remote.pl" script so if you have a register dump from the GDB remote that doesn't include the qRegisterInfo packets, you can manually tell the script which registers are which. llvm-svn: 131715
-
Greg Clayton authored
packet output from "log enable gdb-remote packets". This should help people track down and see what is going wrong more easily when you have log output that includes GDB remote packets. llvm-svn: 131713
-
- May 18, 2011
-
-
Johnny Chen authored
object.__nonzero__(self) is called to implement truth value testing and the built-in operation bool(), via a simple delegation to self.IsValid(). Change tests under python_api/lldbutil to utilize this mechanism. llvm-svn: 131494
-
- May 16, 2011
-
-
Johnny Chen authored
unambiguous iteration support. So that we could, for example: ... REGs = lldbutil.get_GPRs(frame) print "Number of general purpose registers: %d" % len(REGs) for reg in REGs: print "%s => %s" %(reg.GetName(), reg.GetValue()) ... llvm-svn: 131418
-
Sean Callanan authored
changes. llvm-svn: 131391
-
- May 02, 2011
-
-
Johnny Chen authored
Add implementation of '==' and '!=' for SBFileSpec and SBModule. Modify a test case to take advantage of 'ths_module == that_module'. llvm-svn: 130709
-
Johnny Chen authored
llvm-svn: 130698
-
- Apr 29, 2011
-
-
Johnny Chen authored
llvm-svn: 130533
-
Johnny Chen authored
restored after parsing "SBTarget". Indentation matters in Python. :-) llvm-svn: 130532
-
Johnny Chen authored
the breakpoint ID and provides the semantics needed for '==' and '!='. And modify LLDBIteratorTestCase.lldb_iter_2() to use '==' between two SBBreakpoint's. llvm-svn: 130531
-
Johnny Chen authored
llvm-svn: 130461
-
- Apr 28, 2011
-
-
Johnny Chen authored
This is so that the objects which support the iteration protocol are immediately obvious from looking at the lldb.py file. SBTarget supports two types of iterations: module and breakpoint. For an SBTarget instance, you will need to issue either: for m in target.module_iter() or for b in target.breakpoint_iter() For other single iteration protocol objects, just use, for example: for thread in process: ID = thread.GetThreadID() for frame in thread: frame.Disassemble() .... llvm-svn: 130442
-
- Apr 25, 2011
-
-
Johnny Chen authored
i.e., with 'SBStream &description' first, followed by 'DescriptionLevel level'. Modify lldbutil.py so that get_description() for a target or breakpoint location can just take the lldb object itself without specifying an option to mean option lldb.eDescriptionLevelBrief. Modify TestTargetAPI.py to exercise this logic path. llvm-svn: 130147
-
- Apr 22, 2011
-
-
Greg Clayton authored
set by default when dumping registers. If you want to see all of the register sets you can use the "--all" option: (lldb) register read --all If you want to just see some register sets, you can currently specify them by index: (lldb) register read --set 0 --set 2 We need to get shorter register set names soon so we can specify the register sets by name without having to type too much. I will make this change soon. You can also have any integer encoded registers resolve the address values back to any code or data from the object files using the "--lookup" option. Below is sample output when stopped in the libc function "puts" with some const strings in registers: Process 8973 stopped * thread #1: tid = 0x2c03, 0x00007fff828fa30f libSystem.B.dylib`puts + 1, stop reason = instruction step into frame #0: 0x00007fff828fa30f libSystem.B.dylib`puts + 1 (lldb) register read --lookup General Purpose Registers: rax = 0x0000000100000e98 "----------------------------------------------------------------------" rbx = 0x0000000000000000 rcx = 0x0000000000000001 rdx = 0x0000000000000000 rdi = 0x0000000100000e98 "----------------------------------------------------------------------" rsi = 0x0000000100800000 rbp = 0x00007fff5fbff710 rsp = 0x00007fff5fbff280 r8 = 0x0000000000000040 r9 = 0x0000000000000000 r10 = 0x0000000000000000 r11 = 0x0000000000000246 r12 = 0x0000000000000000 r13 = 0x0000000000000000 r14 = 0x0000000000000000 r15 = 0x0000000000000000 rip = 0x00007fff828fa30f libSystem.B.dylib`puts + 1 rflags = 0x0000000000000246 cs = 0x0000000000000027 fs = 0x0000000000000000 gs = 0x0000000000000000 As we can see, we see two constant strings and the PC (register "rip") is showing the code it resolves to. I fixed the register "--format" option to work as expected. Added a setting to disable skipping the function prologue when setting breakpoints as a target settings variable: (lldb) settings set target.skip-prologue false Updated the user settings controller boolean value handler funciton to be able to take the default value so it can correctly respond to the eVarSetOperationClear operation. Did some usability work on the OptionValue classes. Fixed the "image lookup" command to correctly respond to the "--verbose" option and display the detailed symbol context information when looking up line table entries and functions by name. This previously was only working for address lookups. llvm-svn: 129977
-
- Apr 14, 2011
-
-
Sean Callanan authored
tables. llvm-svn: 129500
-
- Apr 08, 2011
-
-
Greg Clayton authored
This allows you to have a platform selected, then specify a triple using "i386" and have the remaining triple items (vendor, os, and environment) set automatically. Many interpreter commands take the "--arch" option to specify an architecture triple, so now the command options needed to be able to get to the current platform, so the Options class now take a reference to the interpreter on construction. Modified the build LLVM building in the Xcode project to use the new Xcode project level user definitions: LLVM_BUILD_DIR - a path to the llvm build directory LLVM_SOURCE_DIR - a path to the llvm sources for the llvm that will be used to build lldb LLVM_CONFIGURATION - the configuration that lldb is built for (Release, Release+Asserts, Debug, Debug+Asserts). I also changed the LLVM build to not check if "lldb/llvm" is a symlink and then assume it is a real llvm build directory versus the unzipped llvm.zip package, so now you can actually have a "lldb/llvm" directory in your lldb sources. llvm-svn: 129112
-
- Mar 26, 2011
-
-
Sean Callanan authored
in stability fixes for the ARM and Thumb disassemblers. llvm-svn: 128316
-
- Mar 24, 2011
-
-
Greg Clayton authored
public types and public enums. This was done to keep the SWIG stuff from parsing all sorts of enums and types that weren't needed, and allows us to abstract our API better. llvm-svn: 128239
-
- Mar 23, 2011
-
-
Stephen Wilson authored
The makefile build uses scripts/generate-vers.pl to build an appropriate LLDB_vers.c file. The declarations for these symbols now carry a liblldb_core prefix so update the script to generate the correct names. llvm-svn: 128135
-
Johnny Chen authored
llvm-svn: 128124
-
- Mar 22, 2011
-
-
Greg Clayton authored
overlap in the SWIG integration which has now been fixed by introducing callbacks for initializing SWIG for each language (python only right now). There was also a breakpoint command callback that called into SWIG which has been abtracted into a callback to avoid cross over as well. Added a new binary: lldb-platform This will be the start of the remote platform that will use as much of the Host functionality to do its job so it should just work on all platforms. It is pretty hollowed out for now, but soon it will implement a platform using the GDB remote packets as the transport. llvm-svn: 128053
-
- Mar 15, 2011
-
-
Sean Callanan authored
up AVX disassembly support. llvm-svn: 127695
-
Sean Callanan authored
llvm-svn: 127634
-
- Mar 09, 2011
-
-
Johnny Chen authored
size_t SBProcess::ReadMemory (addr_t addr, void *buf, size_t size, lldb::SBError &error); llvm-svn: 127292
-
- Mar 07, 2011
-
-
Johnny Chen authored
Currently it has only test cases for SBThread.GetStopDescription() API. Also modified lldb.swig to add typemap for (char *dst, size_t dst_len) which occurs for SBThread::GetStopDescription() C++ API. For Python scripting: # Due to the typemap magic (see lldb.swig), we pass in an (int)length to GetStopDescription # and expect to get a Python string as the result object! # The 100 is just an arbitrary number specifying the buffer size. stop_description = thread.GetStopDescription(100) llvm-svn: 127173
-
- Mar 01, 2011
-
-
Johnny Chen authored
the SBProcess.ReadMemory() API, which, due to SWIG typemap'ing, expects 3 arguments (the location to read from, the size in bytes to read, and an SBError object), and returns the result as a Python string object. On SnowLeopard where this has been tested, the SWIG script needs to be pampered (use the exact same parameter names as in SBProcess.h) in order for this to work. llvm-svn: 126736
-
Jim Ingham authored
llvm-svn: 126732
-
- Jan 27, 2011
-
-
Sean Callanan authored
the "virtual" flag when importing a C++ function declaration. Made changes to LLDB to support other changes in Clang. llvm-svn: 124355
-
- Jan 19, 2011
-
-
Sean Callanan authored
support for minimal type import functionality. llvm-svn: 123787
-
- Jan 14, 2011
-
-
Greg Clayton authored
Anytime we had a valid python list that was trying to go from Python down into our C++ API, it was allocating too little memory and it ended up smashing whatever was next to the allocated memory. Added typemap conversions for "void *, size_t" so we can get SBProcess::ReadMemory() working. Also added a typemap for "const void *, size_t" so we can get SBProcess::WriteMemory() to work. Fixed an issue in the DWARF parser where we weren't correctly calculating the DeclContext for all types and classes. We now should be a lot more accurate. Fixes include: enums should now be setting their parent decl context correctly. We saw a lot of examples where enums in classes were not being properly namespace scoped. Also, classes within classes now get properly scoped. Fixed the objective C runtime pointer checkers to let "nil" pointers through since these are accepted by compiled code. We also now don't call "abort()" when a pointer doesn't validate correctly since this was wreaking havoc on the process due to the way abort() works. We now just dereference memory which should give us an exception from which we can easily and reliably recover. llvm-svn: 123428
-
Caroline Tice authored
exist within the same process (one script interpreter object per debugger object). The python script interpreter objects are all using the same global Python script interpreter; they use separate dictionaries to keep their data separate, and mutex's to prevent any object attempting to use the global Python interpreter when another object is already using it. llvm-svn: 123415
-
- Dec 16, 2010
-
-
Johnny Chen authored
Pass the test suite on Mac OS X Snow Leopard. llvm-svn: 121924
-
- Dec 13, 2010
-
-
Sean Callanan authored
very minor changes, changing how we get the target type from a TypedefType, adding a parameter to EnumDecl::Create(), and other minor tweaks. llvm-svn: 121663
-
- Dec 03, 2010
-
-
Greg Clayton authored
TagDecl subclasses and Objective C interfaces to complete themselves through the ExternalASTSource class. llvm-svn: 120749
-
- Nov 19, 2010
-
-
Greg Clayton authored
declarations" fix. llvm-svn: 119847
-