| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
| |
The arm instruction emulation handles only some of the opcode (including
all of them modifying the PC). For the rest of the instructions we can
advance the PC by the size of the instruction as they don't modify the
PC on any other way.
Differential revision: http://reviews.llvm.org/D9076
llvm-svn: 235292
|
| |
|
|
| |
llvm-svn: 235280
|
| |
|
|
|
|
| |
Reported by Andrew Turner.
llvm-svn: 235275
|
| |
|
|
|
|
| |
coding style a little more closely.
llvm-svn: 235218
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
This is the first phase of the merging of Monitor and Operation threads in NativeProcessLinux
(which is necessary since the two threads race inside Linux kernel). Here, I reimplement the
Monitor thread do use non-blocking waitpid calls, which enables later addition of code from the
operation thread.
Test Plan: Ran the test suite a couple of times, no regressions detected.
Reviewers: vharron, ovyalov, tberghammer
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D9048
llvm-svn: 235193
|
| |
|
|
| |
llvm-svn: 235179
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the changes in r233255/r233258. Normally if lldb attaches to
a running process, when we call Process::Destroy, we want to detach
from the process. If lldb launched the process itself, ::Destroy
should kill it.
However, if we attach to a process and the driver calls SBProcess::Kill()
(which calls Destroy), we need to kill it even if we didn't launch it
originally.
The force_kill param allows for the SBProcess::Kill method to force the
behavior of Destroy.
<rdar://problem/20424439>
llvm-svn: 235158
|
| |
|
|
|
|
|
|
|
|
| |
builds can take advantage of the new GDB register info from the target XML.
Also add "#if defined( LIBXML2_DEFINED )" around code that already used libxml2 in SymbolVendorMacOSX.cpp.
Cleaned up some warnings in ProcessGDBRemote.cpp.
llvm-svn: 235144
|
| |
|
|
| |
llvm-svn: 235143
|
| |
|
|
|
|
| |
This also silences a warning.
llvm-svn: 235131
|
| |
|
|
| |
llvm-svn: 235126
|
| |
|
|
|
|
|
|
| |
targets using qXfer:features:read packet. Only enabled if libxml2 enabled in build.
Differential Revision: http://reviews.llvm.org/D8999
llvm-svn: 235109
|
| |
|
|
| |
llvm-svn: 235097
|
| |
|
|
|
|
|
|
| |
them on the target.
http://reviews.llvm.org/D8980
llvm-svn: 235077
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Typically, LLGS only sends stdout/stderr notifications when the inferior
process is running.
Because LLGS reads stdout from the process in a separate thread, sometimes
these stdout notifications can be received after the server has sent a thread
stop message. The host isn't expecting stdout to be generated by the target
after a stop message and these messages interfere with the host's request/
response paradigm.
Differential Revision: http://reviews.llvm.org/D9024
llvm-svn: 234995
|
| |
|
|
|
|
|
|
|
|
|
| |
Linux arm don't support hardware stepping (neither mismatch
breakpoints). This patch implement signle stepping with doing a software
emulation of the next instruction and then setting a temporary
breakpoint at the address where the thread will stop next.
Differential revision: http://reviews.llvm.org/D8976
llvm-svn: 234987
|
| |
|
|
| |
llvm-svn: 234986
|
| |
|
|
| |
llvm-svn: 234941
|
| |
|
|
|
|
|
|
| |
This patch is major step towards supporting lldb on ARM.
This adds all the required bits to support register manipulation on Linux Arm.
Also adds utility enumerations, definitions and register context classes for arm.
llvm-svn: 234870
|
| |
|
|
| |
llvm-svn: 234607
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch by Sagar Thakur
- Added LinuxSignals for MIPS64.
- Changed software trap opcode for mips64el.
Reviewers: clayborg, tberghammer.
Subscribers: emaste, jaydeep, bhushan, mohit.bhakkad, llvm-commits.
Differential Revision: http://reviews.llvm.org/D8856
llvm-svn: 234469
|
| |
|
|
| |
llvm-svn: 234422
|
| |
|
|
| |
llvm-svn: 234373
|
| |
|
|
|
|
| |
with my previous fix with revision 234364.
llvm-svn: 234366
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The OperatingSystem plug-ins allow code to detect threads in memory and then say "memory thread 0x11111" is backed by the actual thread 1.
You can then single step these virtual threads. A problem arose when thread specific breakpoints were used during thread plans where we would say "set a breakpoint on thread 0x11111" and we would hit the breakpoint on the real thread 1 and the thread IDs wouldn't match and we would get rid of the "stopped at breakpoint" stop info due to this mismatch. Code was added to ensure these events get forwarded and thus allow single stepping a memory thread to work correctly.
Added a test case for this as well.
<rdar://problem/19211770>
llvm-svn: 234364
|
| |
|
|
| |
llvm-svn: 234172
|
| |
|
|
|
|
|
|
|
|
|
|
| |
The FreeBSD debug register access is a little usual, but in any case
different from Linux. As it stands it's not possible to share an
implementation of DR_OFFSET, so revert that part of r233837 and provide
a separate FreeBSD and Linux implementation.
We'll still want a better fix, but this should restore basic
functionality (and the buildbot).
llvm-svn: 234048
|
| |
|
|
| |
llvm-svn: 234007
|
| |
|
|
| |
llvm-svn: 234005
|
| |
|
|
|
|
| |
This typo was introduced as part of http://reviews.llvm.org/D8760
llvm-svn: 234003
|
| |
|
|
|
|
|
|
| |
This replaces the home-grown initialization mechanism used before.
Differential Revision: http://reviews.llvm.org/D8760
llvm-svn: 233999
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
There were a couple of real bugs here regarding error checking and
signed/unsigned comparisons, but mostly these were just noise.
There was one class of bugs fixed here which is particularly
annoying, dealing with MSVC's non-standard behavior regarding
the underlying type of enums. See the comment in
lldb-enumerations.h for details. In short, from now on please use
FLAGS_ENUM and FLAGS_ANONYMOUS_ENUM when defining enums which
contain values larger than can fit into a signed integer.
llvm-svn: 233943
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
The implementation of GDBRemoteRegisterContext relies on byte offsets to cache
register values. GPR, FPR, etc. should start on different offsets. This is
correctly done in debugserver (in DNBArchImplX86_64.cpp), but not on Linux or
FreeBSD (in RegisterInfos_x86_64.h).
Test Plan: `register read st0` no longer overwrites `rbp` on Linux with LLGS.
Reviewers: sivachandra, jingham, emaste, ovyalov, clayborg
Reviewed By: clayborg
Subscribers: emaste, lldb-commits
Differential Revision: http://reviews.llvm.org/D8685
llvm-svn: 233837
|
| |
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D8761
llvm-svn: 233831
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: clayborg, ovyalov, chaoren
Reviewed By: chaoren
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8689
llvm-svn: 233768
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Patch by Sagar Thakur
Reviewers: clayborg, tberghammer.
Subscribers: jaydeep, bhushan, mohit.bhakkad, llvm-commits.
Differential Revision: http://reviews.llvm.org/D8695
llvm-svn: 233685
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Affected paths:
* Plugins/Platform/Android/*
* Plugins/Platform/Linux/*
* Plugins/Platform/gdb-server/*
* Plugins/Process/Linux/*
* Plugins/Process/gdb-remote/*
Differential revision: http://reviews.llvm.org/D8654
llvm-svn: 233679
|
| |
|
|
|
|
|
| |
This debug register diagnostic is really only applicable to amd64 at
present.
llvm-svn: 233403
|
| |
|
|
| |
llvm-svn: 233369
|
| |
|
|
|
|
|
|
| |
This is derived from FreeBSD/mips64 and Darwin and Linux arm64 support.
Differential Revision: http://reviews.llvm.org/D7835
llvm-svn: 233273
|
| |
|
|
|
|
|
|
|
|
| |
Effeted pathes:
* Host/posix/*
* Platform/gdb-server/*
* Process/Linux/*
* Process/POSIX/*
llvm-svn: 233193
|
| |
|
|
|
|
|
|
| |
The automatic conversion from long int to lldb::addr_t caused sign
extension but for a register read it is an unwanted behaviour. Fix with
forcing different conversion path.
llvm-svn: 233176
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Previously the remote module sepcification was fetched only from the
remote platform. With this CL if we have a remote process then we ask it
if it have any information from a given module. It is required because
on android the dynamic linker only reports the name of the SO file and
the platform can't always find it without a full path (the process can
do it based on /proc/<pid>/maps).
Differential revision: http://reviews.llvm.org/D8547
llvm-svn: 233061
|
| |
|
|
| |
llvm-svn: 232952
|
| |
|
|
|
|
|
|
|
|
| |
The latter is uint64_t beacuse lldb supports arbitrary pid/platforms
but in this case we're using it as return value for fork() which might
return -1 to the parent in case the syscall fails.
Differential Revision: http://reviews.llvm.org/D8491
llvm-svn: 232926
|
| |
|
|
| |
llvm-svn: 232925
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Test Plan: No tests, this is just a debug logging function.
Reviewers: tberghammer
Subscribers: lldb-commits
Differential Revision: http://reviews.llvm.org/D8453
llvm-svn: 232815
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Reorganized NativeProcessLinux::MonitorSIGTRAP to check for watchpoint hits on
TRAP_TRACE.
Added test for stepping over watchpoints.
https://llvm.org/bugs/show_bug.cgi?id=22814
Reviewers: ovyalov, tberghammer, vharron, clayborg
Subscribers: jingham, labath, lldb-commits
Differential Revision: http://reviews.llvm.org/D8404
llvm-svn: 232784
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Some application on Linux an all application on android close stdout and
stderr during the libc exit stage. Previously the master file descriptor
of the pseudo terminal used to communicate with the inferior was closed
on an EOF causing a race condition and a possible SIGHUP on process
exit. After this change the master file descriptor will be closed by the
destructor of the GDBRemoteCommunicationServerLLGS class.
Differential revision: http://reviews.llvm.org/D8436
llvm-svn: 232724
|
| |
|
|
|
|
|
|
|
| |
So that we don't have to update every single #include in the entire
codebase to #include this new header (which used to get included by
lldb-private-log.h, we automatically #include "Logging.h" from
within "Log.h".
llvm-svn: 232653
|