- Jan 22, 2013
-
-
Sean Callanan authored
Avoids an error about an ambiguous constructor call. llvm-svn: 173118
-
Enrico Granata authored
llvm-svn: 173111
-
Greg Clayton authored
Clear up the documentation for the "container-regs" and "invalidate-regs" key/value pair responses for qRegisterInfo with examples of single and multiple registers for each. llvm-svn: 173107
-
Greg Clayton authored
Changed the register number lists for the qRegisterInfo packet response to be raw hex to match all other register reading and writing APIs. llvm-svn: 173105
-
Greg Clayton authored
Modified the ARM register context to invalidate r8 - r14 when the CPSR register is modified. llvm-svn: 173104
-
Greg Clayton authored
Updated the LLDB qRegisterInfo documentation to contain information on the new "invalidate-regs" and "container-regs" keys that can be returned in response to a qRegisterInfo packet. llvm-svn: 173102
-
- Jan 21, 2013
-
-
rdar://problem/13020634Greg Clayton authored
Fixed the 32, 16, and 8 bit pseudo regs for x86_64 (real reg of "rax" which subvalues "eax", "ax", etc...) to correctly get updated when stepping. Also fixed it so actual registers can specify what other registers must be invalidated when a register is modified. Previously, only pseudo registers could invalidate other registers. Modified the LLDB qRegisterInfo extension to the GDB remote interface to support specifying the containing registers with the new "container-regs" key whose value is a comma separated list of register numbers. Also added a "invalidate-regs" key whose value is also a comma separated list of register numbers. Removed the hack GDBRemoteDynamicRegisterInfo::Addx86_64ConvenienceRegisters() function and modified "debugserver" to specify the registers correctly using the new "container-regs" and "invalidate-regs" keys. llvm-svn: 173096
-
rdar://problem/12437929Enrico Granata authored
Providing a special mode of operator for "memory read -f c-str" which actually works in most common cases Where the old behavior would provide: (lldb) mem read --format s `foo` 0x100000f5d: NULL Now we do: (lldb) mem read --format s `foo` 0x100000f5d: "hello world" You can also specify a count and that many strings will be showed starting at the initial address: (lldb) mem read -c 2 -f c-str `foo` 0x100000f1d: "hello world" 0x100000f29: "short" llvm-svn: 173076
-
- Jan 19, 2013
-
-
rdar://problem/12350715Jason Molenda authored
Modify UnwindLLDB::SearchForSavedLocationForRegister so if the register save locations for a register mid-stack is in another register (or in the same register, indicating the reg wasn't modified in this frame), don't return that as a found location. Keep iterating down the array of frames until a concrete location/value for the register is found, or until we get to frame 0 where the reg value can be used as-is. If lldb was trying to backtrace a program that blew out its stack via recursion and the unwind instructions had some kind of this-reg-is-saved-in-that-reg instruction, lldb would revert to doing a recursive search for a concrete value and blow out its own stack. llvm-svn: 172887
-
Sean Callanan authored
in an Objective-C class method. Before, errors of the form error: cannot find interface declaration for '$__lldb_objc_class' would appear when running any expression when the current frame is a block that captures 'self' from an Objective-C class method. <rdar://problem/12905561> llvm-svn: 172880
-
rdar://problem/13011717Greg Clayton authored
Fixed a compilation error that occurs when "lldb.macosx.heap" is imported and "ptr_refs" is used. llvm-svn: 172876
-
rdar://problem/13010007Greg Clayton authored
Added the ability for OS plug-ins to lazily populate the thread this. The python OS plug-in classes can now implement the following method: class OperatingSystemPlugin: def create_thread(self, tid, context): # Return a dictionary for a new thread to create it on demand This will add a new thread to the thread list if it doesn't already exist. The example code in lldb/examples/python/operating_system.py has been updated to show how this call us used. Cleaned up the code in PythonDataObjects.cpp/h: - renamed all classes that started with PythonData* to be Python*. - renamed PythonArray to PythonList. Cleaned up the code to use inheritance where - Centralized the code that does ref counting in the PythonObject class to a single function. - Made the "bool PythonObject::Reset(PyObject *)" function be virtual so each subclass can correctly check to ensure a PyObject is of the right type before adopting the object. - Cleaned up all APIs and added new constructors for the Python* classes to they can all construct form: - PyObject * - const PythonObject & - const lldb::ScriptInterpreterObjectSP & Cleaned up code in ScriptInterpreterPython: - Made calling python functions safer by templatizing the production of value formats. Python specifies the value formats based on built in C types (long, long long, etc), and code often uses typedefs for uint32_t, uint64_t, etc when passing arguments down to python. We will now always produce correct value formats as the templatized code will "do the right thing" all the time. - Fixed issues with the ScriptInterpreterPython::Locker where entering the session and leaving the session had a bunch of issues that could cause the "lldb" module globals lldb.debugger, lldb.target, lldb.process, lldb.thread, and lldb.frame to not be initialized. llvm-svn: 172873
-
Greg Clayton authored
llvm-svn: 172871
-
rdar://problem/12976277Han Ming Ong authored
Swap in index ids for thread ids in GDBRemoteCommunicationClient. Besides dealing with the async logic, I have to take care of the situation when the inferior paused as well. llvm-svn: 172869
-
Jason Molenda authored
mach port namespace in addition to the mach port # in examine-threads' own port namespace, and print it (when -v is used). llvm-svn: 172867
-
- Jan 18, 2013
-
-
Sean Callanan authored
DW_AT_const_value instead of a location. Also added a testcase covering "frame variable," "expr" using the IR interpreter, and "expr" using the LLVM JIT. <rdar://problem/12978195> llvm-svn: 172848
-
Matt Kopec authored
llvm-svn: 172840
-
rdar://problem/12243932Jason Molenda authored
Change RNBSocket from using lockdown's lockdown_secure_checkin() function to using lockdown's secure_lockdown_checkin() function. llvm-svn: 172775
-
Enrico Granata authored
The wchar_t and char1632_t test cases were erroneously running as x86_64 only even if you tried to run them in i386 mode Courtesy of Daniel Malea for discovering this. llvm-svn: 172764
-
- Jan 17, 2013
-
-
rdar://problem/12786725Enrico Granata authored
If there is any alive process being debugged, the user is asked for confirmation before quitting LLDB This should prevent situations where the user mistakenly types "q" and LLDB slaughters their process without any mercy whatsoever Since it can quickly get tedious, there is a new setting on the command interpreter to disable this and replicate the previous behavior llvm-svn: 172757
-
Enrico Granata authored
llvm-svn: 172755
-
Sylvestre Ledru authored
llvm-svn: 172728
-
Daniel Malea authored
llvm-svn: 172724
-
Jason Molenda authored
llvm-svn: 172702
-
Enrico Granata authored
vector<bool> is specialized and the existing general summary for vectors would lie to the user. Tackling libstdc++ and synthetic children is the following, less critical, part of this task llvm-svn: 172671
-
- Jan 16, 2013
-
-
Enrico Granata authored
Changing the Python reference document to be more explicit in discouraging usage of lldb.{debugger,...} convenience variables for formatters and other non-interactive Python extensions llvm-svn: 172663
-
Greg Clayton authored
llvm-svn: 172662
-
Greg Clayton authored
llvm-svn: 172647
-
Enrico Granata authored
llvm-svn: 172641
-
rdar://problem/13021266Enrico Granata authored
Adding FindFirstGlobalVariable to SBModule and SBTarget These calls work like FindGlobalVariables but they only return the first match found and so they can return an SBValue instead of an SBValueList for added convenience of use llvm-svn: 172636
-
Enrico Granata authored
Greg created a new API on SBProcess to get an ID that is guaranteed to be unique even in situations where underlying platforms would actually duplicate or hardcode PIDs The Python data formatters use a per-process cache that was previously keying off the PID. Moving that to be based on this new notion of unique ID. llvm-svn: 172633
-
rdar://problem/13009943Greg Clayton authored
Added a unique integer identifier to processes. Some systems, like JTAG or other simulators, might always assign the same process ID (pid) to the processes that are being debugged. In order for scripts and the APIs to uniquely identify the processes, there needs to be another ID. Now the SBProcess class has: uint32_t SBProcess::GetUniqueID(); This integer ID will help to truly uniquely identify a process and help with appropriate caching that can be associated with a SBProcess object. llvm-svn: 172628
-
Greg Clayton authored
SDKROOT should only be unset/cleared for ARM builds. The first fix by Bob Wilson removed it for ARM for both configure and make, but only unset it for desktop configure, not for the make. My next fix unset/cleared it all the time. This fix only unset/clears it for ARM builds. llvm-svn: 172593
-
rdar://problem/13019628Han Ming Ong authored
Prevent profiling from working on older debugserver. Just a simple renaming since the caller is prepared to handle the ‘unimplemented’ answer. llvm-svn: 172583
-
Greg Clayton authored
llvm-svn: 172582
-
Sean Callanan authored
that we now also have to ignore breakpoints when running the expression to collect isas. llvm-svn: 172575
-
Sean Callanan authored
isas and corresponding names from the underlying process in a manner much quicker than the current approach. The current approach accesses memory in the underlying process with a random-access pattern as it walks across the data structures associated with each isa. This involves a great deal of back-and-forth with debugserver, resulting in performance problems, especially with iOS targets. The new approach attempts to run an expression in the target that collects the isas and names into two large buffers, which LLDB then collects in one shot. <rdar://problem/12914539> llvm-svn: 172574
-
Sean Callanan authored
handling multiple clients. However, occasionally an expression must be run in the service of another expression, and in this case two parsers need to access the same list of persistent variables. To allow this, persistent variables now provide state for multiple parsers, and parsers must allocate, access, and deallocate this state by providing their own ID (at the moment, simply the value of the "this" pointer). <rdar://problem/12914539> llvm-svn: 172573
-
- Jan 15, 2013
-
-
rdar://problem/13011717Greg Clayton authored
Fixed a compilation error where NULL was being assigned to a uint. llvm-svn: 172566
-
rdar://problem/13010909Greg Clayton authored
Don't accidentally sign extend unsigned bitfields. llvm-svn: 172506
-