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/Linux/ProcessLinux.cpp
|
f6f52692f0f8f79860e573ef18a9ed93ef5e2668 |
|
17-Jul-2013 |
Ashok Thirumurthi <ashok.thirumurthi@intel.com> |
Re-introduces ELF core file support for Linux x86-64 Usage: 'lldb a.out -c core'. TODO: FreeBSD support. TODO: Support for AVX registers. TODO: Refactor so that RegisterContextCore* don't inherit from classes that use ProcessMonitor to fix the build on OS/X. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186516 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
750ed92ac45e252f1c8b9c2dde31c497f277b2e8 |
|
13-Jul-2013 |
Greg Clayton <gclayton@apple.com> |
Revert the ELF core file support until a few things can be worked out: RegisterContextCoreLinux_x86_64 inherits from RegisterContextLinux_x86_64 which inherits from RegisterContext_x86_64 which uses has: ProcessMonitor &GetMonitor(); This register context used by the core file can't use this since the process plug-in will be ProcessElfCore and the implementation of GetMonitor() does: ProcessMonitor & RegisterContext_x86_64::GetMonitor() { ProcessSP base = CalculateProcess(); ProcessPOSIX *process = static_cast<ProcessPOSIX*>(base.get()); return process->GetMonitor(); } ProcessELFCore doesn't, nor should it inherit from ProcessPOSIX and any call to GetMonitor() will fail for ELF core files. Suggested cleanups: - Make a register context class that is a base class that doesn't have any reading smarts, then make one that uses ProcessPOSIX and the has the GetMonitor() call, and one that gets its data straight from the core file. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186223 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
26345cbada66df8e698111cdf8d1689ccefe8331 |
|
12-Jul-2013 |
Ashok Thirumurthi <ashok.thirumurthi@intel.com> |
Introduces core file support for Linux x86-64 using 'lldb a.out -c core'. TODO: Support for RegisterContext_x86_64::ReadFPR. Patch by Samuel Jacob! git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@186207 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.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/Linux/ProcessLinux.cpp
|
0e191607adcb0ea8ebd06c278be648a7f5c0097f |
|
10-May-2013 |
Greg Clayton <gclayton@apple.com> |
<rdar://problem/13854277> <rdar://problem/13594769> Main changes in this patch include: - cleanup plug-in interface and use ConstStrings for plug-in names - Modfiied the BSD Archive plug-in to be able to pick out the correct .o file when .a files contain multiple .o files with the same name by using the timestamp - Modified SymbolFileDWARFDebugMap to properly verify the timestamp on .o files it loads to ensure we don't load updated .o files and cause problems when debugging The plug-in interface changes: Modified the lldb_private::PluginInterface class that all plug-ins inherit from: Changed: virtual const char * GetPluginName() = 0; To: virtual ConstString GetPluginName() = 0; Removed: virtual const char * GetShortPluginName() = 0; - Fixed up all plug-in to adhere to the new interface and to return lldb_private::ConstString values for the plug-in names. - Fixed all plug-ins to return simple names with no prefixes. Some plug-ins had prefixes and most ones didn't, so now they all don't have prefixed names, just simple names like "linux", "gdb-remote", etc. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@181631 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.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/Linux/ProcessLinux.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/Linux/ProcessLinux.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/Linux/ProcessLinux.cpp
|
c8dd570dddf0b73b74db5c1ecb8f18f023f864e7 |
|
12-Apr-2012 |
Greg Clayton <gclayton@apple.com> |
Remove the GetSequenceMutex timeout that isn't being used in the GDB remote plug-in. Also fixed the ProcessLinux, ProcessPOSIX and ProcessFreeBSD to have the correct UpdateThreadList() prototype. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@154603 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.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/Linux/ProcessLinux.cpp
|
7e9964783acae183c23a7ea470cedd64472eb233 |
|
05-Jan-2012 |
Johnny Chen <johnny.chen@apple.com> |
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@147609 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
48a202dd3ac1fb4ee6709074448dc4d221fa020c |
|
29-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
Patch from Dawn that fixes up linux debugging and a first passs at an implementation of the linux platform. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@145433 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
ce65d2f8332713f396b76e414288b9543952584c |
|
05-Nov-2011 |
Greg Clayton <gclayton@apple.com> |
Patch from Dragos Tatulea which was a modified version of a patch from Joel Dillon that fixed 64 debugging for Linux. I also added a patch to fix up the ProcessLinux::DoLaunch() to be up to date. I wasn't able to verify it compiles, but it should b really close. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@143772 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
3bf3a9df7a920591092ef13c735cb65854a29a35 |
|
18-Oct-2011 |
Johnny Chen <johnny.chen@apple.com> |
This patch fixes debugging of single threaded apps on Linux. It also adds some asserts and additional logging support. from dawn@burble.org git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@142384 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
ac51e9f762ded2a1b390945df592e0718cc75862 |
|
11-Oct-2011 |
Johnny Chen <johnny.chen@apple.com> |
Patch by Dawn to add the logging capabilities to ProcessLinux.cpp. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141712 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
b8f74aa72802d82466d3beadf2bd58616d2d26a6 |
|
11-Oct-2011 |
Johnny Chen <johnny.chen@apple.com> |
Patch from dawn@burble.org to build on linux! git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@141593 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
4755698622b0eeceef07fb6cdad6c95db3a69705 |
|
22-Jul-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Update ProcessLinux::CanDebug prototype git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@135791 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
9bab8d4a18312d743c62083393fe5c39458c300b |
|
14-Jun-2011 |
Johnny Chen <johnny.chen@apple.com> |
Primitive attach support for linux This patch is a starting point for the attach functionality. Signed-off-by: Johnny Chen <johnny.chen@apple.com> git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@133006 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
ad11546f92eb28fe7dae203c5c1707fcc86bf285 |
|
03-Jun-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Implement ProcessLinux::Do{Allocate,Deallocate}Memory using inferior mmap/munmap calls git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@132585 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
67d9f7e394d4240d6af0c97d9eb116b0d87aaf07 |
|
30-Mar-2011 |
Stephen Wilson <wilsons@start.ca> |
linux: initial support for 'real' signal handling This patch upgrades the Linux process plugin to handle a larger range of signal events. For example, we can detect when the inferior has "crashed" and why, interrupt a running process, deliver an arbitrary signal, and so on. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128547 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
d1fbbb4cc0f3d4c99ba0614ea99c2df533ee9a0f |
|
23-Mar-2011 |
Stephen Wilson <wilsons@start.ca> |
linux: simple support for process input and output git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@128137 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
a1f0b72a3ea94b48ea803de8ff2d9a56053e8a39 |
|
24-Feb-2011 |
Stephen Wilson <wilsons@start.ca> |
linux: Use ArchSpec::GetCore and the ArchSpec::Core enums. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@126406 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
75c703dd8b492bad25a987b96853626641ae7246 |
|
16-Feb-2011 |
Greg Clayton <gclayton@apple.com> |
The DynamicLoader plug-in instance now lives up in lldb_private::Process where it should live and the lldb_private::Process takes care of managing the auto pointer to the dynamic loader instance. Also, now that the ArchSpec contains the target triple, we are able to correctly set the Target architecture in DidLaunch/DidAttach in the subclasses, and then the lldb_private::Process will find the dynamic loader plug-in by letting the dynamic loader plug-ins inspect the arch/triple in the target. So now the ProcessGDBRemote plug-in is another step closer to be purely process/platform agnostic. I updated the ProcessMacOSX and the ProcessLinux plug-ins accordingly. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@125650 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
de915beb5febe597505ba33fdc2c39eea2abdbd4 |
|
23-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Added a new variant of SBTarget::Launch() that deprectates the old one that takes separate file handles for stdin, stdout, and stder and also allows for the working directory to be specified. Added support to "process launch" to a new option: --working-dir=PATH. We can now set the working directory. If this is not set, it defaults to that of the process that has LLDB loaded. Added the working directory to the host LaunchInNewTerminal function to allows the current working directory to be set in processes that are spawned in their own terminal. Also hooked this up to the lldb_private::Process and all mac plug-ins. The linux plug-in had its API changed, but nothing is making use of it yet. Modfied "debugserver" and "darwin-debug" to also handle the current working directory options and modified the code in LLDB that spawns these tools to pass the info along. Fixed ProcessGDBRemote to properly pass along all file handles for stdin, stdout and stderr. After clearing the default values for the stdin/out/err file handles for process to be NULL, we had a crasher in UserSettingsController::UpdateStringVariable which is now fixed. Also fixed the setting of boolean values to be able to be set as "true", "yes", "on", "1" for true (case insensitive) and "false", "no", "off", or "0" for false. Fixed debugserver to properly handle files for STDIN, STDOUT and STDERR that are not already opened. Previous to this fix debugserver would only correctly open and dupe file handles for the slave side of a pseudo terminal. It now correctly handles getting STDIN for the inferior from a file, and spitting STDOUT and STDERR out to files. Also made sure the file handles were correctly opened with the NOCTTY flag for terminals. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@124060 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
83047fc9e4d572fc487446d412ad2d1556e8be12 |
|
19-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Timeout if we fail to receive a state change event when destroying an inferior. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123796 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
07fc7a99c66505152bc9e55ee91a981f78501f31 |
|
19-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Only enqueue valid ProcessLinux messages. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123795 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
92241efe8ab5c5cd8d685e86dde28807549fcaf0 |
|
16-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Initial support for a DynamicLoader plugin on Linux. This patch is enough to have shared objects recognized by LLDB. We can handle position independent executables. We can handle dynamically loaded modules brought in via dlopen. The DYLDRendezvous class provides an interface to a structure present in the address space of ELF-based processes. This structure provides the address of a function which is called by the linker each time a shared object is loaded and unloaded (thus a breakpoint at that address will let LLDB intercept such events), a list of entries describing the currently loaded shared objects, plus a few other things. On Linux, processes are brought up with an auxiliary vector on the stack. One element in this vector contains the (possibly dynamic) entry address of the process. One does not need to walk the stack to find this information as it is also available under /proc/<pid>/auxv. The new AuxVector class provides a convenient read-only view of this auxiliary vector information. We use the dynamic entry address and the address as specified in the object file to compute the actual load address of the inferior image. This strategy works for both normal executables and PIE's. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123592 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
1f004c6c0382f66c2ee83c8826b7ddce9726c66d |
|
15-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Set the ID of a ProcessLinux instance to the PID of the inferior on launch. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123503 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
0131642ef7799ea7da652005715219018eb63178 |
|
15-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Implement ProcessLinux::GetImageInfoAddress(). git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123499 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
5d187e5495ee17f6763337a6ae28c2a7b07e4945 |
|
08-Jan-2011 |
Greg Clayton <gclayton@apple.com> |
Spelling changes applied from lldb_spelling.diffs from Bruce Mitchener. Thanks Bruce! git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@123083 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
a280e582b222da700fa43378223e3ec556c80b60 |
|
04-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Do not load sections manually when launching a Linux process. This code was a temporary workaround due to the lack of a dynamic loader plugin for the Linux platform that has bit rotted over time. Instead of replacing this hack with another a proper plugin will be developed instead. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122837 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
3a80431855f12a4397707176e6947f4b0033cae7 |
|
04-Jan-2011 |
Stephen Wilson <wilsons@start.ca> |
Update ProcessLinux method signatures to be in line with LLDB's current API. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@122836 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|
f6f40333e91c97cc3b3ad5fb9fc0549079a96788 |
|
24-Jul-2010 |
Stephen Wilson <wilsons@start.ca> |
Add a new Process plugin for Linux. This component is still at an early stage, but allows for simple breakpoint/step-over operations and basic process control. The makefiles are set up to build the plugin under Linux only. git-svn-id: https://llvm.org/svn/llvm-project/llvdb/trunk@109318 91177308-0d34-0410-b5e6-96231b3b80d8
/external/lldb/source/Plugins/Process/Linux/ProcessLinux.cpp
|