Greg Clayton
f03bbe2661
Added EmulateIntruction plug-in manager support.
...
llvm-svn: 124644
2011-02-01 01:37:45 +00:00
Greg Clayton
7fb56d0a1a
Endian patch from Kirk Beitz that allows better cross platform building.
...
llvm-svn: 124643
2011-02-01 01:31:41 +00:00
Johnny Chen
a1c833769e
Add TestVirtual.py to go with test/cpp/virtual/main.cpp file, which tests
...
C++ virtual function and virtual inheritance.
llvm-svn: 124642
2011-02-01 01:23:34 +00:00
Greg Clayton
c4a99bc416
Patch from Kirk Beitz that removes an unneeded include of "sys/errno.h".
...
llvm-svn: 124638
2011-02-01 01:13:32 +00:00
Greg Clayton
c46f94d490
Cleaned up the EmulateInstructionARM to have the evaluate instruction
...
callbacks use member functions.
llvm-svn: 124636
2011-02-01 00:49:32 +00:00
Greg Clayton
c1dfd93e1e
Made the EmulateInstruction class into a plug-in interface and moved the
...
source files around into the places they need to go.
llvm-svn: 124631
2011-02-01 00:04:43 +00:00
Greg Clayton
c30c39982d
Added a virtual C++ test case that catches some interesting cases
...
that you run into with inheritance.
llvm-svn: 124619
2011-01-31 23:14:35 +00:00
Johnny Chen
2a183f836c
Add emulate_pop (loads multiple registers from the stack) entries to both the
...
g_arm_opcodes and g_thumb_opcodes tables.
Plus a minor comment fix for EmulateInstruction.h.
llvm-svn: 124617
2011-01-31 23:07:40 +00:00
Caroline Tice
4dd2a3bb97
Test warning for pending breakpoints.
...
llvm-svn: 124600
2011-01-31 20:27:28 +00:00
Caroline Tice
1196d48842
Add test for breakpoint id ranges.
...
llvm-svn: 124598
2011-01-31 20:21:32 +00:00
Johnny Chen
413e6520da
Add emulate_add_sp_imm entry to the g_thumb_opcodes table, which represents an operation
...
to adjust the stack pointer by adding an imm7-scaled value to the SP.
llvm-svn: 124596
2011-01-31 20:09:28 +00:00
Johnny Chen
9eb77456e6
Align comment.
...
llvm-svn: 124595
2011-01-31 20:01:01 +00:00
Caroline Tice
5126986ffc
Add test for help on aliased commands.
...
llvm-svn: 124594
2011-01-31 19:34:56 +00:00
Caroline Tice
c9c235e796
Add a few more settings tests.
...
llvm-svn: 124589
2011-01-31 18:18:54 +00:00
Johnny Chen
072c35866a
Add some comments to the emulate_* functions.
...
llvm-svn: 124588
2011-01-31 18:02:28 +00:00
Johnny Chen
1475d4fa36
Minor comment fix.
...
llvm-svn: 124586
2011-01-31 17:37:39 +00:00
Greg Clayton
b30438aa2b
Added the start of the plug-in interface to EmulateInstruction
...
and implemented it for the EmulateInstructionARM class.
llvm-svn: 124563
2011-01-30 20:03:56 +00:00
Greg Clayton
7d478e0851
Added some documentation that describes the purpose and the goals
...
of the EmulateInstruction class.
llvm-svn: 124562
2011-01-30 19:42:40 +00:00
Greg Clayton
e1af156bdf
Bumped Xcode project versions to lldb-46 and debugserver-131.
...
llvm-svn: 124531
2011-01-29 07:14:26 +00:00
Greg Clayton
513c26ce9d
Finished up the async attach support. This allows us to request to attach
...
by name or by pid (with or without waiting for a process to launch) and
catch the response asynchronously.
llvm-svn: 124530
2011-01-29 07:10:55 +00:00
Jim Ingham
754ab98fae
The m_next_action is simpler if it is an auto_pointer.
...
llvm-svn: 124525
2011-01-29 04:05:41 +00:00
Jim Ingham
2a5fdd4729
Handle the case where the "NextEventAction" wants to kill us on some event other than eStateExited.
...
llvm-svn: 124521
2011-01-29 01:57:31 +00:00
Jim Ingham
bb3a283b3e
Added a completion action class to the Process events so that we can make things like Attach and later Launch start their job, and then return to the event loop while waiting for the work to be done.
...
llvm-svn: 124520
2011-01-29 01:49:25 +00:00
Johnny Chen
74d53758c5
Added comment.
...
llvm-svn: 124517
2011-01-29 01:21:04 +00:00
Johnny Chen
6573818e38
Add a "-D" option to the test driver which dumps the Python sys.path variable
...
to be used for the test run. Could be useful for debugging the setup of the
test environment.
llvm-svn: 124516
2011-01-29 01:16:52 +00:00
Johnny Chen
ec1ccca61a
Use different log files for the two test cases in order not to confuse the logging subsystem.
...
llvm-svn: 124513
2011-01-29 00:52:54 +00:00
Caroline Tice
836e3aba16
Add a test case to verify that the frame and breakpoint location
...
are being properly passed down to script breakpoint commands.
llvm-svn: 124511
2011-01-29 00:20:56 +00:00
Caroline Tice
8607f03af1
Add a test case to check logging of command processing.
...
Currently this test case works fine run by itself, but fails when
run in the entire test suite; Johnny requested that I check it in
so that he can look at it.
llvm-svn: 124510
2011-01-29 00:19:53 +00:00
Johnny Chen
8960ffd902
Add emulate_mov_low_high() entry to the g_thumb_opcodes table to capture moving
...
of high registers to low registers in the prologue so they can be saved.
llvm-svn: 124509
2011-01-29 00:11:15 +00:00
Johnny Chen
6bcb81a773
Add "import sys" for sys.stdout.
...
llvm-svn: 124504
2011-01-28 20:59:39 +00:00
Johnny Chen
a1a00b19b5
Add emulate_mov_rd_sp() entries to the g_arm_opcodes and g_thumb_opcodes tables.
...
For prolog instructions which set r7 or ip to the stack pointer.
llvm-svn: 124501
2011-01-28 19:57:25 +00:00
Johnny Chen
49c2245354
The restoring of sys.stdout should happen right after:
...
self.runCmd("script my.date()")
In case the self.expect() fails, the restore would not be executed.
llvm-svn: 124500
2011-01-28 19:39:06 +00:00
Johnny Chen
c03a362b16
Hardened the test_command_source() test case by actually capturing the output
...
from running the "script my.date()" lldb command and comparing it against our
expected result.
llvm-svn: 124499
2011-01-28 19:30:12 +00:00
Caroline Tice
163ae0986b
Add comment.
...
llvm-svn: 124495
2011-01-28 18:31:34 +00:00
Caroline Tice
c3cc59c119
Remove comments I accidentally left in before.
...
llvm-svn: 124490
2011-01-28 17:34:54 +00:00
Caroline Tice
29329ada20
Add tests for 'process launch' I/O flags.
...
llvm-svn: 124489
2011-01-28 17:31:28 +00:00
Johnny Chen
8b2c3217fd
Minor comment change.
...
llvm-svn: 124488
2011-01-28 17:22:29 +00:00
Johnny Chen
121e448e19
Add emulate_sub_r7_ip_imm() (set frame pointer to some ip offset) and emulate_sub_ip_sp_imm() (
...
set ip to some stack offset) entries to the g_arm_opcodes table.
llvm-svn: 124466
2011-01-28 02:26:08 +00:00
Jim Ingham
dd2fe7adb5
Fix a little thinko in sending down the thread name to SetName.
...
llvm-svn: 124464
2011-01-28 02:23:12 +00:00
Jim Ingham
f2c6ccf043
The thread_info changes over the life of the thread, so you can't get it once and cache it, you have to fetch it every time you want to use it.
...
llvm-svn: 124463
2011-01-28 02:21:37 +00:00
Johnny Chen
e5b28a9e6a
Should provide more useful context info for the emulate_ldr_rd_pc_rel() impl.
...
The context being that it's a PC relative load.
llvm-svn: 124460
2011-01-28 00:32:27 +00:00
Caroline Tice
ba8df270e6
If the user specfies one of stdin, stdout or stderr, don't
...
automatically set the non-specified ones to /dev/null.
llvm-svn: 124459
2011-01-28 00:19:58 +00:00
Johnny Chen
3086022a3c
Add emulate_ldr_rd_pc_rel entry to the g_thumb_opcodes table, which represents a
...
PC relative immediate load into register, possibly followed by an add operation
to adjust the SP.
llvm-svn: 124448
2011-01-27 22:52:23 +00:00
Jim Ingham
a462f5cc07
Adding a Xcode workspace for lldb.
...
llvm-svn: 124416
2011-01-27 20:15:39 +00:00
Greg Clayton
2a06ad25d7
Removed the "lldb" folder reference from the Xcode project.
...
llvm-svn: 124401
2011-01-27 19:37:17 +00:00
Johnny Chen
8286868c84
Add emulate_add_sp_rm entry to the g_thumb_opcodes table, which represents an operation
...
to adjust the stack pointer by adding a register value in Rm to the SP.
llvm-svn: 124400
2011-01-27 19:34:30 +00:00
Greg Clayton
539848dd25
Updated Xcode project versions: lldb-45 and debugserver-130
...
llvm-svn: 124372
2011-01-27 09:20:08 +00:00
Greg Clayton
5732f242ee
Improved support for GCC complex integers.
...
llvm-svn: 124371
2011-01-27 09:15:11 +00:00
Greg Clayton
7ec3d40ec0
Finally tracked down the racy condition that would hose up our debug
...
sessions: When continue packet has been sent and an interrupt packet was
quickly sent, it would get read at the same time:
$c#00\x03
There was an error where the packet end index was always being computed
incorrectly by debugserver, but it wouldn't matter if there weren't extra
bytes on the end (the hex \x03 interrupt byte in this case). The first
'$' last 3 bytes of the data in the packet buffer were being trimmed
(trying to trim the '#' + checksum (#XX)) which made:
c#
And this would then be passed to the handle routine for the 'c' packet which
would see an extra character at the end and assume it was going to be in the
form c[addr] where "[addr]" was a hex address to resume at and this would
result in a malformed packet response. This is now fixed and everything works
great.
Another issue was issuing async packets correctly by doing correct handshakes
between the thread that wants to send the async packet, and the thread that
is tracking the current run.
Added a write lock to the communication class as well to make sure you never
get two threads trying to write data at the same time. This wasn't happening,
but it is a good idea to make sure it doesn't.
llvm-svn: 124369
2011-01-27 09:02:32 +00:00
Greg Clayton
931180e644
Changed the SymbolFile::FindFunction() function calls to only return
...
lldb_private::Function objects. Previously the SymbolFileSymtab subclass
would return lldb_private::Symbol objects when it was asked to find functions.
The Module::FindFunctions (...) now take a boolean "bool include_symbols" so
that the module can track down functions and symbols, yet functions are found
by the SymbolFile plug-ins (through the SymbolVendor class), and symbols are
gotten through the ObjectFile plug-ins.
Fixed and issue where the DWARF parser might run into incomplete class member
function defintions which would make clang mad when we tried to make certain
member functions with invalid number of parameters (such as an operator=
operator that had no parameters). Now we just avoid and don't complete these
incomplete functions.
llvm-svn: 124359
2011-01-27 06:44:37 +00:00