History log of /external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
4349bcb8ec51f3fd447b511b2ce8292a92d3c771 01-Aug-2013 Michael Sartain <mikesart@valvesoftware.com> Fix thread name updating in Linux. "thread list" should report correct names always now.
Created new LinuxThread class inherited from POSIXThread and removed linux / freebsd ifdefs
Removed several un-needed set thread name calls

CR (and multiple suggestions): mkopec



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187545 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
8c2dc0ed580bf17b93431f8aca0ad7a89b594066 30-Jul-2013 Ed Maste <emaste@freebsd.org> Run-time reg context selection for POSIX targets

Instantiate RegisterContext... based on getOS() instead of with
compile-time #ifdef-ery.

The assert() here is unfortunate, but better than crashing with no
explanation.

This change is equivalent to r186865 for elf-core.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@187422 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
674f7d1d53fd1e663a4a4c4d734b79dece0f7ccc 12-Jul-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Handle BreakNotify for threads whose tid doesn't match the ThreadSpec of the BreakpointSite
to avoid asserts when stepping in a multi-threaded application.

Note: Test to follow shortly.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186190 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
0ba7548c72ed9a242415cb78f2351146d7afe3b7 10-Jul-2013 Matt Kopec <Matt.Kopec@intel.com> Add support for listing inferior thread names on Linux.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186033 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
3a0e6a527395682c6e8a3fe346a704cbe7c27274 19-Jun-2013 Andy Gibbs <andyg1001@hotmail.co.uk> Use LLDB_INVALID_REGNUM at Mike Sartain's suggestion


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184342 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
09dffd865889d31d85ecaac55033e0c0aa727c2a 19-Jun-2013 Andy Gibbs <andyg1001@hotmail.co.uk> Fix two 'variable is used uninitialised' warnings. Change assert to llvm_unreachable.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184334 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
aeb2faf0a2bbb38ecc6ab05955bd80ef69bf9020 18-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Add assertion for when no watchpoint found in POSIX watchnotify handler.
Also, ensure x86_64 watchpoint registers are initialized before they are accessed on the POSIX side.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184246 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
6a988f463945e4b4eea4446c66d11d2a86f40467 18-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Temporarily disable checking of watchpoint hit on FreeBSD on trace message.

Patch from Ed Maste.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@184241 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
010a8d85100602eff09bd61a85987efd0001188a 11-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Add output of fault address on an address related crash (ie. segfault).


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183701 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
12c5bf31a5a3f96970b4101495ecbcc8449e12f6 03-Jun-2013 Matt Kopec <Matt.Kopec@intel.com> Fix setting of watchpoints on inferior thread creation for Linux.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@183139 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
3bd2ebd670677dae45010bf53084ff85da7c6a5e 29-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Adding support for stopping all threads of multithreaded inferiors on Linux. Also adding multithreaded test cases.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@182809 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
c73fedb63ab170d711fb73d198451eb8db710e8d 09-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fixed "log enable linux registers" and added a test.
- 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.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181538 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
dc07851c7d6eb5debba116d81648a88a0e595114 09-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fixed a build failure introduced by r181501.

Patch by Yao Qi.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181511 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
863aa28adf536c9c008e1590f25da662431d6f13 09-May-2013 Greg Clayton <gclayton@apple.com> Changed the formerly pure virtual function:

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).



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181501 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
a7c0f9f95bab8a2845d7f41aae75d31a15965203 08-May-2013 Matt Kopec <Matt.Kopec@intel.com> Attempt to fix failing watchpoints for debian os buildbot.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181447 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
3d4d51cd1bdef32ab61ba9e1de75d5a4f4c1dbed 07-May-2013 Matt Kopec <Matt.Kopec@intel.com> Add watchpoint support for Linux on 64-bit host.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
4e75e3533bddc7cf7264c6c7f7b4d812d4466e96 07-May-2013 Andrew Kaylor <andrew.kaylor@intel.com> Reinstating r181091 and r181106 with fix for Linux regressions.

git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181340 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
26aa43bcbccc89d7b52adfed26c545430c021635 03-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Refactoring for struct UserArea:
- 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


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181055 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
a46013bde54626b68cd2013b108f73a205f4b29a 01-May-2013 Greg Clayton <gclayton@apple.com> <rdar://problem/13700260>
<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.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180886 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
dae196da3bf9c181405c9c0c1083069dc007e318 01-May-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Platform-specific specialization for the GPR register file.
- Required for platform-independant handling of general purpose registers (i.e. for core dumps).

Thanks to Samuel Jacob for this patch.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@180878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
6aa1c2ce5e2b1ffb1441652e0a376239271913ef 19-Apr-2013 Greg Clayton <gclayton@apple.com> More fallout unique_ptr changes for from http://lab.llvm.org:8011/builders/lldb-x86_64-linux/builds/3565.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@179815 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
d8f6b6446d8b9d1568f91f51bc5dd3aae45db5cc 28-Mar-2013 Ashok Thirumurthi <ashok.thirumurthi@intel.com> Fix the Linux build issues introduced by r178191.

- 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.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@178242 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
d601e83ba2bb1b731986602f36bbc2e0514196d4 13-Feb-2013 Daniel Malea <daniel.malea@intel.com> Allow expression evaluation to work when multiple threads exist in the inferior (on Linux)
- handle m_resume_state == eStateStopped || eStateSuspended in DoResume rather than asserting



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@175094 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
f1fda3748c39c92d2e79aeba0715baffabd3286b 08-Jan-2013 Matt Kopec <Matt.Kopec@intel.com> Add initial support to trace spawned threads in a process on Linux.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171864 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
3a5ac5a9ba481548c58ddae7dcec1b74d4b14f7a 08-Jan-2013 Matt Kopec <Matt.Kopec@intel.com> Fix TestSendSignals.py on Linux. The wrong stop reason was being set when stopping for a received signal.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@171819 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
d891f9b872103235cfd2ed452c6f14a4394d9b3a 05-Dec-2012 Daniel Malea <daniel.malea@intel.com> Fix Linux build warnings due to redefinition of macros:
- add new header lldb-python.h to be included before other system headers
- short term fix (eventually python dependencies must be cleaned up)

Patch by Matt Kopec!




git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@169341 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
5f35a4be95aed0e5b2cb36f7d785bcbfc67284ae 29-Nov-2012 Daniel Malea <daniel.malea@intel.com> Resolve printf formatting warnings on Linux:
- use macros from inttypes.h for format strings instead of OS-specific types

Patch from Matt Kopec!



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@168945 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
a3da57296f84b4a338e4cce77dc991596df02834 30-Oct-2012 Jim Ingham <jingham@apple.com> Patch from Matt Kopec <matt.kopec@intel.com> to handle stepping into multiply-nested inlined code.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@167028 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
5e91e379b3be10738ab5aeae87b47001de16cd7c 12-Oct-2012 Greg Clayton <gclayton@apple.com> Patch from Daniel Malea that cleans up the process parameters for Process/Thread classes for POSIX and Linux.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@165806 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
e5eaa30f62c697d649966c86acd4e3c52b39b355 21-Feb-2012 Greg Clayton <gclayton@apple.com> Linux fix patch from Dmitry Vyukov.



git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@151072 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
2341d35bc77ffa8597a85b1ffe50b5653a2ec46d 05-Jan-2012 Johnny Chen <johnny.chen@apple.com> Fix incomplete commit of http://llvm.org/viewvc/llvm-project?rev=147609&view=rev:

This patch combines common code from Linux and FreeBSD into
a new POSIX platform. It also contains fixes for 64bit FreeBSD.

The patch is based on changes by Mark Peek <mp@FreeBSD.org> and
"K. Macy" <kmacy@freebsd.org> in their github repo located at
https://github.com/fbsd/lldb.


git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@147613 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/POSIX/POSIXThread.cpp