- May 17, 2011
-
-
Jim Ingham authored
give the reason for the interrupt. Also make sure it we don't want to unwind from the evaluation we print something if it is interrupted. llvm-svn: 131448
-
- May 16, 2011
-
-
Caroline Tice authored
Fix places that were writing directly to the debugger's output handles to go through the appropriate channels instead. llvm-svn: 131415
-
Greg Clayton authored
If we are asked to restore all register values, we need to fall back to restoring each register one by one. llvm-svn: 131398
-
Greg Clayton authored
packets in GDB remote. Also fixed a compiler warning for an unhandled case for a switch. llvm-svn: 131397
-
Greg Clayton authored
Correctly handle invalid 32-bit mmap fail return value in ProcessGDBRemote. llvm-svn: 131394
-
Greg Clayton authored
Prior to this fix we would often call SendPacketAndWaitForResponse() which returns the number of bytes in the response. The UNSUPPORTED response in the GDB remote protocol is zero bytes and we were checking for it inside an if statement: if (SendPacketAndWaitForResponse(...)) { if (response.IsUnsupportedResponse()) { // UNSUPPORTED... // This will never happen... } } We now handle is properly as: if (SendPacketAndWaitForResponse(...)) { } else { // UNSUPPORTED... } llvm-svn: 131393
-
Greg Clayton authored
ABIMacOSX_arm plugin. Modified darwin-debug to print out the exectuable, working directory and arguments a bit differently. llvm-svn: 131392
-
Sean Callanan authored
changes. llvm-svn: 131391
-
- May 15, 2011
-
-
Greg Clayton authored
definitions and names. llvm-svn: 131387
-
Greg Clayton authored
the appropriate registers for arm and x86_64. The register names for the arguments that are the size of a pointer or less are all named "arg1", "arg2", etc. This allows you to read these registers by name: (lldb) register read arg1 arg2 arg3 ... You can also now specify you want to see alternate register names when executing the read register command: (lldb) register read --alternate (lldb) register read -A llvm-svn: 131376
-
Greg Clayton authored
thread plan. In order to get the return value, you can call: void ThreadPlanCallFunction::RequestReturnValue (lldb::ValueSP &return_value_sp); This registers a shared pointer to a return value that will get filled in if everything goes well. After the thread plan is run the return value will be extracted for you. Added an ifdef to be able to switch between the LLVM MCJIT and the standand JIT. We currently have the standard JIT selected because we have some work to do to get the MCJIT fuctioning properly. Added the ability to call functions with 6 argument in the x86_64 ABI. Added the ability for GDBRemoteCommunicationClient to detect if the allocate and deallocate memory packets are supported and to not call allocate memory ("_M") or deallocate ("_m") if we find they aren't supported. Modified the ProcessGDBRemote::DoAllocateMemory(...) and ProcessGDBRemote::DoDeallocateMemory(...) to be able to deal with the allocate and deallocate memory packets not being supported. If they are not supported, ProcessGDBRemote will switch to calling "mmap" and "munmap" to allocate and deallocate memory instead using our trivial function call support. Modified the "void ProcessGDBRemote::DidLaunchOrAttach()" to correctly ignore the qHostInfo triple information if any was specified in the target. Currently if the target only specifies an architecture when creating the target: (lldb) target create --arch i386 a.out Then the vendor, os and environemnt will be adopted by the target. If the target was created with any triple that specifies more than the arch: (lldb) target create --arch i386-unknown-unknown a.out Then the target will maintain its triple and not adopt any new values. This can be used to help force bare board debugging where the dynamic loader for static files will get used and users can then use "target modules load ..." to set addressses for any files that are desired. Added back some convenience functions to the lldb_private::RegisterContext class for writing registers with unsigned values. Also made all RegisterContext constructors explicit to make sure we know when an integer is being converted to a RegisterValue. llvm-svn: 131370
-
- May 14, 2011
-
-
Greg Clayton authored
llvm-svn: 131334
-
Jim Ingham authored
Breakpoint::Description with eDescriptionLevelBrief should just print the number of locations, printing the list of locations is pointless. llvm-svn: 131333
-
Jim Ingham authored
For the purposes of setting breakpoints treat methods defined in the class and methods defined in a category on the class as the same. llvm-svn: 131331
-
- May 13, 2011
-
-
Johnny Chen authored
solve the build break due to the lack of this method. It also propose a solution to the API changes in RegisterContext. I upgraded also the the python version in the makefile. My linux installation has python2.7 and AFAIK also the latest ubuntu has this version of python so maybe is worth upgrading. Patch by Marco Minutoli <mminutoli@gmail.com> [Note: I had to hand merge in the diffs since patch thinks it is a corrupt patch.] llvm-svn: 131313
-
Johnny Chen authored
reflects this change. Marco Minutoli <mminutoli@gmail.com> llvm-svn: 131306
-
Johnny Chen authored
Patch by Marco Minutoli <mminutoli@gmail.com> llvm-svn: 131304
-
Johnny Chen authored
breakage due to its presence. Patch by Marco Minutoli <mminutoli@gmail.com> llvm-svn: 131303
-
Sean Callanan authored
as non-const in the debug information, added a fallback to GetFunctionAddress, adding the const qualifier after the fact and searching again. llvm-svn: 131299
-
Sean Callanan authored
representing variables whose type must be inferred from the way they are used. Functions without debug information now return UnknownAnyTy and must be cast. Variables with no debug information are not yet using UnknownAnyTy; instead they are assumed to be void*. Support for variables of unknown type is coming (and, in fact, some relevant support functions are included in this commit) but will take a bit of extra effort. The testsuite has also been updated to reflect the new requirement that the result of printf be cast, i.e. expr (int) printf("Hello world!") llvm-svn: 131263
-
Johnny Chen authored
of the current instruction plus 8. And for Triple::thumb, it is plus 4. rdar://problem/9170971 lldb disassembly's symbol information not correct (off by 2?) llvm-svn: 131256
-
- May 12, 2011
-
-
Johnny Chen authored
Construction of the RegisterReaderArg instance should happen after we have a valid base_addr, not before. llvm-svn: 131236
-
Greg Clayton authored
pointers: virtual bool PrepareTrivialCall (Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, lldb::addr_t *arg1_ptr, lldb::addr_t *arg2_ptr, lldb::addr_t *arg3_ptr) const = 0; Prior to this it was: virtual bool PrepareTrivialCall (Thread &thread, lldb::addr_t sp, lldb::addr_t functionAddress, lldb::addr_t returnAddress, lldb::addr_t arg, lldb::addr_t *this_arg, lldb::addr_t *cmd_arg) const = 0; This was because the function that called this slowly added more features to be able to call a C++ member function that might have a "this" pointer, and then later added "self + cmd" support for objective C. Cleaning this code up and the code that calls it makes it easier to implement the functions for new targets. The MacOSX_arm::PrepareTrivialCall() is now filled in and ready for testing. llvm-svn: 131221
-
Jim Ingham authored
llvm-svn: 131219
-
Jim Ingham authored
llvm-svn: 131217
-
- May 11, 2011
-
-
Greg Clayton authored
respective ABI plugins as they were plug-ins that supplied ABI specfic info. Also hookep up the UnwindAssemblyInstEmulation so that it can generate the unwind plans for ARM. Changed the way ABI plug-ins are handed out when you get an instance from the plug-in manager. They used to return pointers that would be mananged individually by each client that requested them, but now they are handed out as shared pointers since there is no state in the ABI objects, they can be shared. llvm-svn: 131193
-
Caroline Tice authored
Add ability to recognize/handle quotes around commands (e.g. '"target" create' works as well as 'target create'). llvm-svn: 131185
-
- May 10, 2011
-
-
Sean Callanan authored
looked up. Queries for global types were made too specific -- including the current module and compile unit in the query was limiting the search when we wanted a truly global search. llvm-svn: 131145
-
Caroline Tice authored
Make sure writing asynchronous output only backs up & overwrites prompt if the IOChannel input reader is the top input reader. llvm-svn: 131110
-
Sean Callanan authored
treated as being permanently resident in target memory. In fact, since the expression's stack frame is deleted and potentially re-used after the expression completes, the variables need to be treated as being freeze-dried. llvm-svn: 131104
-
- May 09, 2011
-
-
Greg Clayton authored
into some cleanup I have been wanting to do when reading/writing registers. Previously all RegisterContext subclasses would need to implement: virtual bool ReadRegisterBytes (uint32_t reg, DataExtractor &data); virtual bool WriteRegisterBytes (uint32_t reg, DataExtractor &data, uint32_t data_offset = 0); There is now a new class specifically designed to hold register values: lldb_private::RegisterValue The new register context calls that subclasses must implement are: virtual bool ReadRegister (const RegisterInfo *reg_info, RegisterValue ®_value) = 0; virtual bool WriteRegister (const RegisterInfo *reg_info, const RegisterValue ®_value) = 0; The RegisterValue class must be big enough to handle any register value. The class contains an enumeration for the value type, and then a union for the data value. Any integer/float values are stored directly in an appropriate host integer/float. Anything bigger is stored in a byte buffer that has a length and byte order. The RegisterValue class also knows how to copy register value bytes into in a buffer with a specified byte order which can be used to write the register value down into memory, and this does the right thing when not all bytes from the register values are needed (getting a uint8 from a uint32 register value..). All RegiterContext and other sources have been switched over to using the new regiter value class. llvm-svn: 131096
-
Johnny Chen authored
Fix the wrong error message for "platform process info", i.e., with no pid(s) specified for the command. llvm-svn: 131089
-
Greg Clayton authored
being returned for both the PC and FP. llvm-svn: 131081
-
- May 08, 2011
-
-
Greg Clayton authored
a new "QLaunchArch:<arch-name>" where <arch-name> is the architecture name. This allows us to remotely launch a debugserver and then set the architecture for the binary we will launch. llvm-svn: 131064
-
Sean Callanan authored
they are treated as pointers of type (void*). This allows reading of environ, for instance. llvm-svn: 131063
-
Jim Ingham authored
function and if not return an error. llvm-svn: 131061
-
- May 07, 2011
-
-
Sean Callanan authored
variables be evaluated statically. Also fixed a bug that caused the results of statically-evaluated expressions to be materialized improperly. This bug also removes some duplicate code. llvm-svn: 131042
-
Jim Ingham authored
llvm-svn: 131041
-
Jim Ingham authored
llvm-svn: 131039
-
- May 06, 2011
-
-
Caroline Tice authored
Replace calls to HandleCommand in lldb core with more appropriate direct function calls. As part of this, collect code that processes arguments & options for aliases into a single function. llvm-svn: 131020
-