| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 125416
|
|
|
|
| |
llvm-svn: 125313
|
|
|
|
|
|
|
|
| |
Bit32(val, bit) and
SetBits32(uint32_t &bits, uint32_t bit, uint32_t val) to SetBit32(bits, bit, val).
llvm-svn: 125312
|
|
|
|
|
|
|
|
| |
g_thumb_opcodes
table. Also add some more defines and convenience functions.
llvm-svn: 125300
|
|
|
|
|
|
|
| |
Update the linux plugin code to use the new check for a valid host
thread introduced in r125067.
llvm-svn: 125213
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
module's AST context. Prior to this fix, with gcc binaries, we end up with
a full class definition for any used classes in each compile unit due to the
one definition rule. This would result in us making N copies of class T, where
N is the number of compile units that use class T, in the module AST. When
an expression would then try and use any types that were duplicated, it would
quickly confuse clang and make expression evaluation fail due to all of the
duplicate types that got copied over. This is now fixed by making a map of
types in the DWARF that maps type names to a collection of types + declaration
(file + line number) + DIE. Then later when we find a type we look in this
module map and find any already cached types that we can just use.
8935777
llvm-svn: 125207
|
|
|
|
| |
llvm-svn: 125199
|
|
|
|
| |
llvm-svn: 125162
|
|
|
|
|
|
|
|
| |
UniversalTestCase.test_process_launch_for_universal
Fix for bad architecture settings that were being used from the qHostInfo.
llvm-svn: 125161
|
|
|
|
|
|
| |
the event thread. Also clarify the logic of the function.
llvm-svn: 125083
|
|
|
|
|
|
| |
logging a bit.
llvm-svn: 125081
|
|
|
|
|
|
| |
We have a common unix implementation in lldb/source/Host/common/FileSpec.cpp.
llvm-svn: 125078
|
|
|
|
|
|
| |
integer. Modified patch from Kirk Beitz.
llvm-svn: 125067
|
|
|
|
| |
llvm-svn: 125016
|
|
|
|
| |
llvm-svn: 124941
|
|
|
|
|
|
|
|
| |
section by using a DenseMap.
Fixed some logging calls to get the log shared pointer.
llvm-svn: 124926
|
|
|
|
| |
llvm-svn: 124906
|
|
|
|
| |
llvm-svn: 124898
|
|
|
|
| |
llvm-svn: 124897
|
|
|
|
|
|
| |
strncasecmp equivalents from Kirk Beitz.
llvm-svn: 124889
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(lldb) process connect <remote-url>
Currently when you specify a file with the file command it helps us to find
a process plug-in that is suitable for debugging. If you specify a file you
can rely upon this to find the correct debugger plug-in:
% lldb a.out
Current executable set to 'a.out' (x86_64).
(lldb) process connect connect://localhost:2345
...
If you don't specify a file, you will need to specify the plug-in name that
you wish to use:
% lldb
(lldb) process connect --plugin process.gdb-remote connect://localhost:2345
Other connection URL examples:
(lldb) process connect connect://localhost:2345
(lldb) process connect tcp://127.0.0.1
(lldb) process connect file:///dev/ttyS1
We are currently treating the "connect://host:port" as a way to do raw socket
connections. If there is a URL for this already, please let me know and we
will adopt it.
So now you can connect to a remote debug server with the ProcessGDBRemote
plug-in. After connection, it will ask for the pid info using the "qC" packet
and if it responds with a valid process ID, it will be equivalent to attaching.
If it response with an error or invalid process ID, the LLDB process will be
in a new state: eStateConnected. This allows us to then download a program or
specify the program to run (using the 'A' packet), or specify a process to
attach to (using the "vAttach" packets), or query info about the processes
that might be available.
llvm-svn: 124846
|
|
|
|
|
|
| |
(regardless if the interrupt was sent), and false of not.
llvm-svn: 124766
|
|
|
|
| |
llvm-svn: 124658
|
|
|
|
| |
llvm-svn: 124643
|
|
|
|
|
|
| |
source files around into the places they need to go.
llvm-svn: 124631
|
|
|
|
|
|
|
|
| |
g_arm_opcodes and g_thumb_opcodes tables.
Plus a minor comment fix for EmulateInstruction.h.
llvm-svn: 124617
|
|
|
|
|
|
|
|
| |
an operation
to adjust the stack pointer by adding an imm7-scaled value to the SP.
llvm-svn: 124596
|
|
|
|
| |
llvm-svn: 124595
|
|
|
|
| |
llvm-svn: 124588
|
|
|
|
| |
llvm-svn: 124586
|
|
|
|
|
|
| |
and implemented it for the EmulateInstructionARM class.
llvm-svn: 124563
|
|
|
|
|
|
| |
of the EmulateInstruction class.
llvm-svn: 124562
|
|
|
|
|
|
|
| |
by name or by pid (with or without waiting for a process to launch) and
catch the response asynchronously.
llvm-svn: 124530
|
|
|
|
|
|
| |
of high registers to low registers in the prologue so they can be saved.
llvm-svn: 124509
|
|
|
|
|
|
| |
For prolog instructions which set r7 or ip to the stack pointer.
llvm-svn: 124501
|
|
|
|
|
|
|
|
| |
emulate_sub_ip_sp_imm() (
set ip to some stack offset) entries to the g_arm_opcodes table.
llvm-svn: 124466
|
|
|
|
| |
llvm-svn: 124464
|
|
|
|
|
|
| |
The context being that it's a PC relative load.
llvm-svn: 124460
|
|
|
|
|
|
| |
automatically set the non-specified ones to /dev/null.
llvm-svn: 124459
|
|
|
|
|
|
|
| |
PC relative immediate load into register, possibly followed by an add operation
to adjust the SP.
llvm-svn: 124448
|
|
|
|
|
|
|
|
| |
an operation
to adjust the stack pointer by adding a register value in Rm to the SP.
llvm-svn: 124400
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
g_thumb_opcodes tables.
Change the data type of Context.arg2 to int64_t due to possible negative values.
llvm-svn: 124343
|
|
|
|
|
|
|
|
| |
stack) entries
to both the g_arm_opcodes and g_thumb_opcodes tables.
llvm-svn: 124333
|
|
|
|
| |
llvm-svn: 124262
|
|
|
|
| |
llvm-svn: 124261
|
|
|
|
|
|
|
|
| |
file
named InstructionUtils.h and modify some existing code to use them.
llvm-svn: 124259
|
|
|
|
|
|
| |
Update emulate_sub_sp_imm to handle Encoding T1.
llvm-svn: 124253
|
|
|
|
| |
llvm-svn: 124250
|
|
|
|
|
|
| |
Update emulate_sub_sp_imm to handle Encoding T2 & T3.
llvm-svn: 124248
|