| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
std::weak_ptr<lldb_private::Thread>) in case the thread goes away while the stop info still exists.
llvm-svn: 180749
|
| |
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 180242
|
| |
|
|
|
|
|
|
| |
(normally undefined) as indicating a breakpoint hit, in addition
to the normal (EXC_BREAKPOINT, EXC_ARM_BREAKPOINT) pair.
<rdar://problem/13730366>
llvm-svn: 180216
|
| |
|
|
|
|
|
|
| |
- 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
|
| |
|
|
| |
llvm-svn: 180061
|
| |
|
|
|
|
|
| |
Providing a dummy RegisterContext to secure against faulty Python OS plugins that do not return a valid RegisterContext
The RegisterContextDummy exports a PC with a constant 0xFFFFFFFFFFFFFFFF value
llvm-svn: 180033
|
| |
|
|
|
|
| |
Fixed the GDB remote with the python OS plug-in to not show core threads when they aren't desired and also to have the threads "to the right thing" when continuing.
llvm-svn: 179912
|
| |
|
|
| |
llvm-svn: 179910
|
| |
|
|
|
|
| |
Only add the -std=c++11 flag when needed, don't touch current flags.
llvm-svn: 179821
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
defines a Return Address register (e.g. lr on arm) but the RA register
hasn't been saved anywhere yet -- it is still in a live reg.
<rdar://problem/13503130>
llvm-svn: 179431
|
| |
|
|
|
|
|
|
| |
Made some fixes to the OperatingSystemPython class:
- If any thread dictionary contains any "core=N" key/value pairs then the threads obtained from the lldb_private::Process itself will be placed inside the ThreadMemory threads and will be used to get the information for a thread.
- Cleaned up all the places where a thread inside a thread was causing problems
llvm-svn: 179405
|
| |
|
|
|
|
| |
exists.
llvm-svn: 179326
|
| |
|
|
|
|
| |
<rdar://problem/13558979>
llvm-svn: 178596
|
| |
|
|
|
|
| |
Don't crash when there is no register context for a thread with kernel debugging. The kernel debugging uses the OperatingSystemPlugin that may behave badly when trying to get thread state, so be prepared to have invalid register contexts in threads.
llvm-svn: 178574
|
| |
|
|
|
|
|
| |
- process in 'unloaded' state was (incorrectly) considered to be alive by POSIX plugin
- above caused a regression in TestProcessLaunch cases
llvm-svn: 178493
|
| |
|
|
|
|
| |
<rdar://problem/13527167>
llvm-svn: 178325
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
LLDB is crashing when logging is enabled from lldb-perf-clang. This has to do with the global destructor chain as the process and its threads are being torn down.
All logging channels now make one and only one instance that is kept in a global pointer which is never freed. This guarantees that logging can correctly continue as the process tears itself down.
llvm-svn: 178191
|
| |
|
|
|
|
| |
- modified a comment
llvm-svn: 178178
|
| |
|
|
|
|
| |
Patch by Ashok Thirumurthi.
llvm-svn: 177568
|
| |
|
|
|
|
| |
when building. This needs to be accounted for.
llvm-svn: 177176
|
| |
|
|
|
|
| |
Patch by Ashok Thirumurthi.
llvm-svn: 177173
|
| |
|
|
|
|
| |
-Adds workaround for assertion in lldb for TestEvents.py
llvm-svn: 177116
|
| |
|
|
| |
llvm-svn: 177076
|
| |
|
|
| |
llvm-svn: 176833
|
| |
|
|
| |
llvm-svn: 176753
|
| |
|
|
|
|
|
|
| |
As much as I hate to leave this hacky code in that adds some d and q registers to ARM registers, I must leave it in.
The code is now fixed to not just assume ANY arm target will have registers in a certain order. We now verify the common regs are the same name and byte size before adding the d and q regs.
llvm-svn: 176752
|
| |
|
|
|
|
| |
Patch by Ashok Thirumurthi.
llvm-svn: 176558
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
DWARF with .o files now uses 40-60% less memory!
Big fixes include:
- Change line table internal representation to contain "file addresses". Since each line table is owned by a compile unit that is owned by a module, it makes address translation into lldb_private::Address easy to do when needed.
- Removed linked address members/methods from lldb_private::Section and lldb_private::Address
- lldb_private::LineTable can now relink itself using a FileRangeMap to make it easier to re-link line tables in the future
- Added ObjectFile::ClearSymtab() so that we can get rid of the object file symbol tables after we parse them once since they are not needed and kept memory allocated for no reason
- Moved the m_sections_ap (std::auto_ptr to section list) and m_symtab_ap (std::auto_ptr to the lldb_private::Symtab) out of each of the ObjectFile subclasses and put it into lldb_private::ObjectFile.
- Changed how the debug map is parsed and stored to be able to:
- Lazily parse the debug map for each object file
- not require the address map for a .o file until debug information is linked for a .o file
llvm-svn: 176454
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
in a core file if it didn't start at the beginning of a memory segment.
I added more sophisticated kernel location code to DynamicLoaderDarwinKernel
and removed the simple one in ProcessMachCore. Unfortunately the kernel
DynamicLoader doesn't get a chance to search around in memory unless there's
a hint that this might be a kernel debug session. It was easy ot make the
kernel location code static in DynamicLoaderDarwinKernel and call it from
ProcessMachCore on the start of the session, so that's what I did.
<rdar://problem/13326647>
llvm-svn: 176405
|
| |
|
|
|
|
|
|
|
|
|
|
| |
useful,
and use it to keep from doing the OS Plugin UpdateThreadList while destroying, since
if that does anything that requires the API lock it may deadlock against whoever is
running the Process::Destroy.
<rdar://problem/13308627>
llvm-svn: 176375
|
| |
|
|
| |
llvm-svn: 176360
|
| |
|
|
|
|
| |
KDP packets.
llvm-svn: 176319
|
| |
|
|
| |
llvm-svn: 176206
|
| |
|
|
|
|
| |
StackFrame assumes m_sc is additive, but m_sc can lose its target. So now the SymbolContext::Clear() method takes a bool that indicates if the target should be cleared. Modified all existing code to properly set the bool argument.
llvm-svn: 175953
|
| |
|
|
|
|
| |
in the gdb-remote Process plugin files.
llvm-svn: 175947
|
| |
|
|
|
|
| |
Fixed an issue where if we got a 'A' async packet back from debugserver, we would resend the last continue command. We now correctly identify the packet as async (just like the 'O' stdout async packet) and we don't resend the continue command.
llvm-svn: 175924
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
|
|
|
| |
BreakpointSites not breakpoints, it is confusing
to have it not named appropriately. Also in StopInfoMachException, we aren't testing for software or not software, just
whether the thing is a breakpoint we set. So don't use "software"...
llvm-svn: 175241
|
| |
|
|
|
|
| |
Poor network connections aren't handled well; commands fail instead of retrying.
llvm-svn: 175198
|