| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 183139
|
|
|
|
|
|
| |
Thanks to Daniel and valgrind.
llvm-svn: 183110
|
|
|
|
|
|
| |
All running threads will be detected and stopped on attach and all threads get resumed on detach.
llvm-svn: 183049
|
|
|
|
|
|
| |
Also adding multithreaded test cases.
llvm-svn: 182809
|
|
|
|
|
|
|
|
|
| |
are derived registers.
- Also refactors TestRegisters.py because test_convenience_registers_with_process_attach now fails with an assert.
TODO: Cross-reference the skipOnLinux decorator with a bugzilla report after root-causing this issue.
llvm-svn: 181737
|
|
|
|
|
|
|
| |
- Also improved test coverage for passing tests to include expr/x
and a sanity check for $eax as the lower half of $rax.
llvm-svn: 181727
|
|
|
|
|
|
| |
Hopefully fixes the build of lldb
llvm-svn: 181694
|
|
|
|
|
|
|
|
|
|
| |
- Eliminated the use of static for methods that read m_register_infos, so that these routines can be implemented in the base class.
- Eliminated m_register_infos in the base class because this is not used when derived classes call UpdateRegisterInfo.
- Also moved the namespace using declarations from headers to source files.
Thanks to Daniel and Samuel for their review feedback.
llvm-svn: 181538
|
|
|
|
|
|
| |
Patch by Yao Qi.
llvm-svn: 181511
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
namespace lldb_private {
class Thread
{
virtual lldb::StopInfoSP
GetPrivateStopReason() = 0;
};
}
To not be virtual. The lldb_private::Thread now handles the correct caching and will call a new pure virtual function:
namespace lldb_private {
class Thread
{
virtual bool
CalculateStopInfo() = 0;
}
}
This function must be overridden by thead lldb_private::Thread subclass and the only thing it needs to do is to set the Thread::StopInfo() with the current stop reason and return true, or return false if there is no stop reason. The lldb_private::Thread class will take care of calling this function only when it is required. This allows lldb_private::Thread subclasses to be a bit simpler and not all need to duplicate the cache and invalidation settings.
Also renamed:
lldb::StopInfoSP
lldb_private::Thread::GetPrivateStopReason();
To:
lldb::StopInfoSP
lldb_private::Thread::GetPrivateStopInfo();
Also cleaned up a case where the ThreadPlanStepOverBreakpoint might not re-set its breakpoint if the thread disappears (which was happening due to a bug when using the OperatingSystem plug-ins with memory threads and real threads).
llvm-svn: 181501
|
|
|
|
|
|
| |
Also mark one of the tests as expected fail on Linux due to the debian fix.
llvm-svn: 181448
|
|
|
|
| |
llvm-svn: 181447
|
|
|
|
| |
llvm-svn: 181374
|
|
|
|
| |
llvm-svn: 181341
|
|
|
|
| |
llvm-svn: 181340
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Decouples RegisterContext_x86_64 from UserArea.
- Restores the original definition of UserArea so that it can be used to generate offsets for use with ptrace.
- Moves UserArea to the 64-bit Linux specialization.
- Also fixes an off-by-one error for the size of m_gpr.
- Also adds a TODO comment noting the need for a mechanism to identify the correct plugin based on the target OS (and architecture).
Reviewed by: Matt Kopec and Samuel Jacob
llvm-svn: 181055
|
|
|
|
| |
llvm-svn: 180920
|
|
|
|
|
|
| |
compute.
llvm-svn: 180898
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
<rdar://problem/13723772>
Modified the lldb_private::Thread to work much better with the OperatingSystem plug-ins. Operating system plug-ins can now return have a "core" key/value pair in each thread dictionary for the OperatingSystemPython plug-ins which allows the core threads to be contained with memory threads. It also allows these memory threads to be stepped, resumed, and controlled just as if they were the actual backing threads themselves.
A few things are introduced:
- lldb_private::Thread now has a GetProtocolID() method which returns the thread protocol ID for a given thread. The protocol ID (Thread::GetProtocolID()) is usually the same as the thread id (Thread::GetID()), but it can differ when a memory thread has its own id, but is backed by an actual API thread.
- Cleaned up the Thread::WillResume() code to do the mandatory parts in Thread::ShouldResume(), and let the thread subclasses override the Thread::WillResume() which is now just a notification.
- Cleaned up ClearStackFrames() implementations so that fewer thread subclasses needed to override them
- Changed the POSIXThread class a bit since it overrode Thread::WillResume(). It is doing the wrong thing by calling "Thread::SetResumeState()" on its own, this shouldn't be done by thread subclasses, but the current code might rely on it so I left it in with a TODO comment with an explanation.
llvm-svn: 180886
|
|
|
|
|
|
|
|
| |
- Required for platform-independant handling of general purpose registers (i.e. for core dumps).
Thanks to Samuel Jacob for this patch.
llvm-svn: 180878
|
|
|
|
| |
llvm-svn: 180868
|
|
|
|
|
|
|
|
|
|
| |
process plugin (or in the
case of ProcessGDBRemote the stub we are talking to) know how to do that.
rdar://problem/13680832
llvm-svn: 180831
|
|
|
|
|
|
| |
Patch by Ashok Thirumurthi.
llvm-svn: 180581
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Adds unique enums for ymm registers to the ABI and the POSIX register context.
- Reworks the register context data structures to support a union of FXSAVE and XSAVE
--- Allows the same code base to deal with the FPU independent of the availability of AVX.
- Determine if AVX is supported by attempting to read XSAVE using ptrace.
--- Support an extended register set for avx registers if available.
- Provide a mechanism to assemble/parse register halves into a single ymm buffer for use with RegisterValue.
--- Reworked Read/WriteRegister routines to read/write/parse ymm registers.
Adds tests for ymm register write with read-back, and expressions involving ymm registers.
- Tests vary depending on the availability of an avx register set.
Thanks to Daniel and Matt for their reviews.
llvm-svn: 180572
|
|
|
|
|
|
|
|
| |
- Includes tests that write, read and verify vector register content.
Reviewed by: Daniel Malea
llvm-svn: 180143
|
|
|
|
|
|
|
|
| |
- Includes tests that write, verify and restore floating-point register content using SBFrame.
Reviewed by: Daniel Malea
llvm-svn: 180111
|
|
|
|
|
|
| |
http://lab.llvm.org:8011/builders/lldb-x86_64-linux/builds/3565.
llvm-svn: 179815
|
|
|
|
|
|
| |
the macros and just use C++11.
llvm-svn: 179805
|
|
|
|
|
|
|
|
| |
C++11 is being used. To do this, we follow what we have done for shared pointers and we define a STD_UNIQUE_PTR macro that can be used and it will "do the right thing". Due to some API differences in std::unique_ptr and due to the fact that we need to be able to compile without C++11, we can't use move semantics so some code needed to change so that it can compile with either C++.
Anyone wanting to use a unique_ptr or auto_ptr should now use the "STD_UNIQUE_PTR(TYPE)" macro.
llvm-svn: 179779
|
|
|
|
|
|
|
| |
- process in 'unloaded' state was (incorrectly) considered to be alive by POSIX plugin
- above caused a regression in TestProcessLaunch cases
llvm-svn: 178493
|
|
|
|
|
|
|
|
|
|
| |
target processor.
- Includes a stub for AVX support in the x86-64 register context and a failing test for register sets that are unavailable.
Thanks to Greg Clayton for his review feedback.
llvm-svn: 178252
|
|
|
|
|
|
|
|
|
| |
- All Linux logging channels now use a single global instance of lldb_private::Log, to handle the case of logging during process tear down.
- Also removed a single use of LogSP in FreeBSD and fixed a typo in a comment while reading through ProcessKDPLog.
Reviewed by Daniel Malea.
llvm-svn: 178242
|
|
|
|
|
|
| |
-Adds workaround for assertion in lldb for TestEvents.py
llvm-svn: 177116
|
|
|
|
| |
llvm-svn: 177076
|
|
|
|
| |
llvm-svn: 176833
|
|
|
|
|
|
| |
Patch by Ashok Thirumurthi.
llvm-svn: 176558
|
|
|
|
| |
llvm-svn: 176360
|
|
|
|
| |
llvm-svn: 176206
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- generate-vers.pl has to be called by cmake to generate the version number
- parallel builds not yet supported; dependency on clang must be explicitly specified
Tested on Linux.
- Building on Mac will require code-signing logic to be implemented.
- Building on Windows will require OS-detection logic and some selective directory inclusion
Thanks to Carlo Kok (who originally prepared these CMakefiles for Windows) and Ben Langmuir
who ported them to Linux!
llvm-svn: 175795
|
|
|
|
|
|
| |
debugging a 32-bit inferior on 64-bit lldb/host.
llvm-svn: 175543
|
|
|
|
|
|
|
|
| |
POSIX plugin
- needed due to r175241
llvm-svn: 175290
|
|
|
|
|
|
|
|
| |
inferior (on Linux)
- handle m_resume_state == eStateStopped || eStateSuspended in DoResume rather than asserting
llvm-svn: 175094
|
|
|
|
| |
llvm-svn: 173473
|
|
|
|
| |
llvm-svn: 171864
|
|
|
|
|
|
|
|
| |
different working directory) on Linux/FreeBSD
- fixes test case TestProcessLaunch
llvm-svn: 171854
|
|
|
|
|
|
| |
stopping for a received signal.
llvm-svn: 171819
|
|
|
|
| |
llvm-svn: 170800
|
|
|
|
|
|
|
|
| |
- make FreeBSD ProcessMonitor API thread-ready
Patch by Matt Kopec!
llvm-svn: 170445
|
|
|
|
| |
llvm-svn: 170224
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove unused members
- add NO_PEDANTIC to selected Makefiles
- fix return values (removed NULL as needed)
- disable warning about four-char-constants
- remove unneeded const from operator*() declaration
- add missing lambda function return types
- fix printf() with no format string
- change sizeof to use a type name instead of variable name
- fix Linux ProcessMonitor.cpp to be 32/64 bit friendly
- disable warnings emitted by swig-generated C++ code
Patch by Matt Kopec!
llvm-svn: 169645
|