- May 14, 2011
-
-
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
-
Jim Ingham authored
Make the log message & setter match for "dyld/shlib". The "ListLogCategories" output should really be auto-generated from the settings so you can't make this sort of mistake... llvm-svn: 131003
-
Greg Clayton authored
ValueObject is, as long as the ValueObject that is being asked to be casted is a pointer itself. llvm-svn: 130966
-
- May 05, 2011
-
-
Greg Clayton authored
integer and the register byte size matches the size of a pointer. This removes the "--lookup" option. llvm-svn: 130910
-
Jim Ingham authored
Fix the "target stop-hook add" input reader so that it won't say the stop hook was added if the input was interrupted. llvm-svn: 130907
-
- May 04, 2011
-
-
Jim Ingham authored
Change the boolean "use_dynamic" over to a tri-state, no-dynamic, dynamic-w/o running target, and dynamic with running target. llvm-svn: 130832
-
Greg Clayton authored
Removed the "image" command and moved it to "target modules". Added an alias for "image" to "target modules". Added some new target commands to be able to add and load modules to a target: (lldb) target modules add <path> (lldb) target modules load [--file <path>] [--slide <offset>] [<sect-name> <sect-load-addr> ...] So you can load individual sections without running a target: (lldb) target modules load --file /usr/lib/libSystem.B.dylib __TEXT 0x7fccc80000 __DATA 0x1234000000 Or you can rigidly slide an entire shared library: (lldb) target modules load --file /usr/lib/libSystem.B.dylib --slid 0x7fccc80000 This should improve bare board debugging when symbol files need to be slid around manually. llvm-svn: 130796
-
- May 03, 2011
-
-
Caroline Tice authored
Pre-load the Python script interpreter with the following convenience variables (from the ExecutionContext) each time it is entered: lldb.debugger, lldb.target, lldb.process, lldb.thread, lldb.frame. If a frame (or thread, process, etc) does not currently exist, the variable contains the Python value 'None'. llvm-svn: 130792
-
Caroline Tice authored
Remove type cast that was causing compiler warning. llvm-svn: 130790
-
Johnny Chen authored
llvm-svn: 130741
-
Johnny Chen authored
llvm-svn: 130740
-
- May 02, 2011
-
-
Greg Clayton authored
image list command so we can see the full triple for each target module. llvm-svn: 130728
-
Caroline Tice authored
This patch captures and serializes all output being written by the command line driver, including the lldb prompt being output by editline, the asynchronous process output & error messages, and asynchronous messages written by target stop-hooks. As part of this it introduces a new Stream class, StreamAsynchronousIO. A StreamAsynchronousIO object is created with a broadcaster, who will eventually broadcast the stream's data for a listener to handle, and an event type indicating what type of event the broadcaster will broadcast. When the Write method is called on a StreamAsynchronousIO object, the data is appended to an internal string. When the Flush method is called on a StreamAsynchronousIO object, it broadcasts it's data string and clears the string. Anything in lldb-core that needs to generate asynchronous output for the end-user should use the StreamAsynchronousIO objects. I have also added a new notification type for InputReaders, to let them know that a asynchronous output has been written. This is to allow the input readers to, for example, refresh their prompts and lines, if desired. I added the case statements to all the input readers to catch this notification, but I haven't added any code for handling them yet (except to the IOChannel input reader). llvm-svn: 130721
-
Jim Ingham authored
llvm-svn: 130701
-