summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins
Commit message (Collapse)AuthorAgeFilesLines
* Make lldb-gdbserver to take explicit socket scheme as command line argument.Oleksiy Vyalov2015-10-282-2/+7
| | | | | | http://reviews.llvm.org/D14126 llvm-svn: 251547
* Refactor Windows process plugin to allow code sharing between live and mini ↵Adrian McCarthy2015-10-2830-1761/+2059
| | | | | | dump debugging. llvm-svn: 251540
* Make core files not crash when you load a core file into LLDB with just ↵Greg Clayton2015-10-284-24/+162
| | | | | | | | | | | | | | | "lldb -c core". To do this I added a few new ways to determine the OS from PT_NOTE notes in the ELF file: 1 - Look for "LINUX" notes which indicate "linux" should be the OS 2 - Look through the "CORE" notes with NT_FILE as the type and sniff data from the paths listed in this section. On Ubuntu they contain "/lib/x86_64-linux-gnu" which has the triple and allows us to set "linux" as the OS in the architecture returned from ObjectFileELF::GetArchitecture(). Setting the OS correctly allows us to get the triple correct so we can extract registers without asserting and killing LLDB. Also use the data from the NT_FILE to set the main executable if one isn't set in ProcessElfCore::DoLoadCore(). llvm-svn: 251537
* Changes for Bug 17384Ravitheja Addepally2015-10-282-2/+33
| | | | | | | | | | | | | | | | | | | | | | | Summary: Virtual dynamic shared objects, or vdso files were not loaded for Linux OS.In Bug 17384 the call stack could not be unwinded from functions residing in the vdso object. This commit adds support for loading such files by reading the Aux vectors since a vdso is invisibily mapped to the inferiors address space and the actual file is not present in the filesystem. The presence of the vdso is detected by inspecting the Aux vector for AT_SYSINFO_EHDR tag. Reviewers: lldb-commits, ovyalov, tberghammer Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14118 llvm-svn: 251505
* Treat hostname in android URL as device id unless it matches "localhost".Oleksiy Vyalov2015-10-272-2/+2
| | | | | | http://reviews.llvm.org/D14101 llvm-svn: 251422
* Fix MSVC build after r251402Tamas Berghammer2015-10-271-1/+2
| | | | llvm-svn: 251403
* Some minor improvements on the symtab parsing codeTamas Berghammer2015-10-272-32/+61
| | | | | | | | | | | | | | | * Remove an unneccessary re-computaion on arch spec from the ELF file * Use a local cache to optimize name based section lookups in symtab parsing * Optimize C++ method basename validation with replacing a regex with hand written code These modifications reduce the time required to parse the symtab from large applications by ~25% (tested with LLDB as inferior) Differential revision: http://reviews.llvm.org/D14088 llvm-svn: 251402
* Fix race condition in process resumePavel Labath2015-10-271-1/+7
| | | | | | | | | | | | | | | | | | Summary: Gdb-remote's async thread sent out the eBroadcastBitRunPacketSent message *before* actually sending out the continue packet. Since it's this message the actually triggers the public state transition, it could happen (and it did happen in TestAttachResume, which does an "process interrupt" right after a continue) that we attempt to stop the inferior before it was actually started (which obviously did not end well). This fixes the problem by moving the broadcast after the packet was actually sent. Reviewers: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D14083 llvm-svn: 251399
* Fix for Arm watchpoint cache corruption in case of ptrace failureOmair Javaid2015-10-271-0/+48
| | | | | | Differential revision: http://reviews.llvm.org/D14051 llvm-svn: 251386
* Fix Clang-tidy modernize-use-override warnings in ↵Eugene Zelenko2015-10-2716-325/+239
| | | | | | source/Plugins/LanguageRuntime and Platform; other minor fixes. llvm-svn: 251374
* Revert "Clang module compilation options need to be per-platform."Adrian McCarthy2015-10-264-84/+13
| | | | | | | | This reverts commit r251340. Breaks the Windows build because Windows doesn't have getuid. The fix is not obvious. llvm-svn: 251354
* Clang module compilation options need to be per-platform.Sean Callanan2015-10-264-13/+84
| | | | | | | | On UNIX (but not Darwin) the username needs to be respected when creating a temporary module directory, so that different users don't pollute each others' module caches. llvm-svn: 251340
* Fix an API missues in ParseTypeFromDWARFTamas Berghammer2015-10-261-1/+1
| | | | | | | The arguments for ClangASTContext::CreateMemberPointerType was passed in in the wrong order. llvm-svn: 251319
* Re-use prologue parsing code that was already written instead of having two ↵Greg Clayton2015-10-262-66/+37
| | | | | | | | copies of code that parse line table prologues. Also since we always read in the DWARF data or mmap it, we don't need to make a copy of the strings for the directories and file names, we can just store "cosnt char *" values. Every place that uses the prologues use them temporarily and then throw them away so no one is expecting the directory and filename strings to live longer than the parse functions. llvm-svn: 251310
* [lldb-server] Send PC of every thread along in the stop-reply packetPavel Labath2015-10-261-14/+14
| | | | | | | | This avoids the need to query the PC for private resume operations (public resumes have the PC from the bigger jStopInfo packet) and speeds up the stepping on an android target by about 10% (it some cases even more). llvm-svn: 251301
* [RenderScript] Add option to break on a specific kernel invocationEwan Crawford2015-10-262-21/+262
| | | | | | | | | Adds option -c <x,y,z> to the 'language renderscript kernel breakpoint set' command. Breaks only on the invocation of the kernel with specified coordinate. Implemented by adding a callback to the kernel breakpoint which checks the coordinates of every invocation. llvm-svn: 251293
* Fix a fission expression evaluation issueTamas Berghammer2015-10-263-1/+10
| | | | | | | This fix should eliminate the duplicate definition errors when debug info is available in multiple dwo symbol file for the same type. llvm-svn: 251282
* Fix a build issue on Debian unstable. The compiler rejected the convertion ↵Sylvestre Ledru2015-10-261-2/+2
| | | | | | to ‘bool’ from ‘std::nullptr_t’ llvm-svn: 251276
* Corrects return values and typos in Arm watchpoint codeOmair Javaid2015-10-251-4/+4
| | | | | | | This is just a trivial patch that corrects a couple of return value account to function's return type. Also corrects typo in hardware breakpoint handler. llvm-svn: 251269
* Add initial gmake glue for the NetBSD platformBruce Mitchener2015-10-243-2/+24
| | | | | | | | | | | | | | | | | Summary: These changes aren't everything what is needed for the autotools target, but it's significantly approaching it. These changes shouldn't effect the build process on other platforms. Patch by Kamil Rytarowski, thanks! Reviewers: joerg, brucem Subscribers: brucem, tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D13715 llvm-svn: 251171
* Revert r251167 in source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp to ↵Eugene Zelenko2015-10-241-32/+84
| | | | | | fix MSVC builds failures. llvm-svn: 251170
* Fix Clang-tidy modernize-use-override warnings in some files in ↵Eugene Zelenko2015-10-2412-343/+272
| | | | | | source/Plugins; other minor fixes. llvm-svn: 251167
* Add initial CMake glue for the NetBSD platformBruce Mitchener2015-10-243-0/+7
| | | | | | | | | | | | | | | | | Summary: These changes aren't everything what is needed for the CMake target, but it's significantly approaching it. These changes shouldn't effect the build process on other platforms. Patch by Kamil Rytarowski, thanks! Reviewers: joerg, brucem Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13711 llvm-svn: 251164
* Fixed some issues with reporting "this" when the current function is not listedSean Callanan2015-10-232-43/+47
| | | | | | | | | in DWARF as a member of a class, but it has a "this" parameter. Specifically, *this needs to have the LLDB expression added as a method. This fixes TestWithLimitDebugInfo. llvm-svn: 251151
* Fix Clang-tidy modernize-use-override warnings in ↵Eugene Zelenko2015-10-237-341/+331
| | | | | | source/Plugins/ObjectContainer and ObjectFile; other minor fixes. llvm-svn: 251119
* Fix arm lldb-server on aarch64 deviceTamas Berghammer2015-10-232-0/+56
| | | | | | | | | | * Use PTRACE_GETVFPREGS/PTRACE_SETVFPREGS to access the floating point registers instead of the old PTRACE_GETFPREGS/PTRACE_SETFPREGS. The new call is available since armv5. * Work around a kernel issue in PTRACE_POKEUSER with reading out the full register set, modifying the neccessary value and then writing it back. llvm-svn: 251111
* Re-commit "Make dwarf parsing multi-threaded"Tamas Berghammer2015-10-233-22/+78
| | | | | | | | | | | | | | | Re-commit the change after fixing a lot of race condition in LLDB exposed by this change Loading the debug info from a large application is the slowest task LLDB do. This CL makes most of the dwarf parsing code multi-threaded. As a result the speed of "attach; backtrace; exit;" when the inferior is an LLDB with full debug info increased by a factor of 2. Differential revision: http://reviews.llvm.org/D13662 llvm-svn: 251106
* Add arm64 FreeBSD ProcessMonitor register contextEd Maste2015-10-231-0/+4
| | | | llvm-svn: 251088
* Fix Clang-tidy modernize-use-override warnings in include/lldb/Disassembler ↵Eugene Zelenko2015-10-224-132/+130
| | | | | | | | and OperatingSystem; other minor fixes. Second attempt which should work for MSVC. llvm-svn: 251066
* Set device_id to host value only in case of adb protocol.Oleksiy Vyalov2015-10-222-2/+4
| | | | llvm-svn: 251044
* Attempt to fix MSVC builds after rL250966.Eugene Zelenko2015-10-221-9/+4
| | | | | | Differential Revision: http://reviews.llvm.org/D13968 llvm-svn: 251031
* Make SymbolFileDWARF::GetCachedSectionData thread safeTamas Berghammer2015-10-224-151/+94
| | | | | | Differential revision: http://reviews.llvm.org/D13942 llvm-svn: 251007
* [AppleObjCRuntime] Don't bother looking for the runtime on non-apple targetsPavel Labath2015-10-221-1/+4
| | | | | | | | | | | | | | | Summary: This short-circuits the GetObjCVersion function to avoid iterating through target modules on non-apple targets. This function is called on every Process::IsDynamicValue call, so this overhead is not negligible. Reviewers: clayborg, jingham Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D13948 llvm-svn: 251004
* [RenderScript] Support for mips64 runtime hookEwan Crawford2015-10-221-16/+61
| | | | | | | | | Previously we could not hook the RS runtime on mips64 architectures. Patch implements ABI specific code for inspecting function arguments. Author: Dean De Leo, dean@codeplay.com llvm-svn: 251003
* Add some verbose lldb host logging so lldb will show what SDKJason Molenda2015-10-221-1/+23
| | | | | | directories it is searching for files. llvm-svn: 250978
* Fix Clang-tidy modernize-use-override warnings in some files in ↵Eugene Zelenko2015-10-2210-425/+363
| | | | | | | | source/Plugins/LanguageRuntime; other minor fixes. Differential Revision: http://reviews.llvm.org/D13966 llvm-svn: 250966
* Fix libstdc++ data formatters on Ubuntu 15.10 x86_64Todd Fiala2015-10-223-7/+157
| | | | | | See http://reviews.llvm.org/D13964 for details. llvm-svn: 250965
* Revert r250925 in source/Plugins/OperatingSystem/Go to fix MSVC builds failures.Eugene Zelenko2015-10-212-51/+54
| | | | llvm-svn: 250937
* Add domain socket support to gdb-remote protocol and lldb-server.Oleksiy Vyalov2015-10-2114-142/+258
| | | | | | http://reviews.llvm.org/D13881 llvm-svn: 250933
* [SBValue] Add a method GetNumChildren(uint32_t max)Siva Chandra2015-10-212-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Along with this, support for an optional argument to the "num_children" method of a Python synthetic child provider has also been added. These have been added with the following use case in mind: Synthetic child providers currently have a method "has_children" and "num_children". While the former is good enough to know if there are children, it does not give any insight into how many children there are. Though the latter serves this purpose, calculating the number for children of a data structure could be an O(N) operation if the data structure has N children. The new method added in this change provide a middle ground. One can call GetNumChildren(K) to know if a child exists at an index K which can be as large as the callers tolerance can be. If the caller wants to know about children beyond K, it can make an other call with 2K. If the synthetic child provider maintains state about it counting till K previosly, then the next call is only an O(K) operation. Infact, all calls made progressively with steps of K will be O(K) operations. Reviewers: vharron, clayborg, granata.enrico Subscribers: labath, lldb-commits Differential Revision: http://reviews.llvm.org/D13778 llvm-svn: 250930
* Fix Clang-tidy modernize-use-override warnings in some files in ↵Eugene Zelenko2015-10-2112-345/+325
| | | | | | | | source/Plugins; other minor fixes. Differential Revision: http://reviews.llvm.org/D13951 llvm-svn: 250925
* [RenderScript] Fix out of bounds warning.Ewan Crawford2015-10-211-3/+3
| | | | llvm-svn: 250891
* [DataFormatters] Make libc++ list loop detection linearPavel Labath2015-10-211-88/+113
| | | | | | | | | | | | | | | | | | | | | | | | | Summary: Loop detection code is being called before every element access. Although it tries to cache some of the data by remembering the loop-free initial segment, every time it needs to increase this segment, it will start from scratch. For the typical usage pattern, where one accesses the elements in order, the loop detection will need to be run after every access, resulting in quadratic behavior. This behavior is noticable even for the default 255 element limit. In this commit, I rewrite the algorithm to be truly incremental -- it maintains the state of its loop-detection runners between calls, and reuses them when it needs to check another segment. This way, each part of the list is scanned only once, resulting in linear behavior. Also note that I have changed the operator== of ListEntry to do the comparison based on the value() function (instead of relying on ValueObjectSP equality). In my experiments, I kept getting different ValueObjectSPs when going through the same element twice. Reviewers: granata.enrico Subscribers: lldb-commits, sivachandra Differential Revision: http://reviews.llvm.org/D13902 llvm-svn: 250890
* [RenderScript] New commands to save/load RS allocations to file.Ewan Crawford2015-10-212-40/+410
| | | | | | | | | | | | | | Patch adds command 'language renderscript allocation save' to store the contents of an allocation in a binary file. And 'language renderscript allocation load' to restore an allocation with the saved data from a binary file. Binary file format contains a header FileHeader with meta information preceding the raw data. Reviewed by: jingham, clayborg Subscribers: lldb-commits, domipheus Differential Revision: http://reviews.llvm.org/D13903 llvm-svn: 250886
* Revert r250872 in source/Plugins/Disassembler to fix MSVC builds failures.Eugene Zelenko2015-10-212-45/+53
| | | | llvm-svn: 250874
* Fix Clang-tidy modernize-use-override warnings in some files in ↵Eugene Zelenko2015-10-2116-348/+342
| | | | | | | | source/Plugins; other minor fixes. Differential Revision: http://reviews.llvm.org/D13916 llvm-svn: 250872
* Fix potential file i/o problem with python handles.Zachary Turner2015-10-204-37/+50
| | | | llvm-svn: 250838
* Revert "Make dwarf parsing multi-threaded"Tamas Berghammer2015-10-203-71/+23
| | | | | | | | | Revert it bacuse it introduces several race condition detected by the build bots. This reverts commit 5107a5ebdb7c4571a30a7098b40bf8098b678447. llvm-svn: 250832
* Make dwarf parsing multi-threadedTamas Berghammer2015-10-203-23/+71
| | | | | | | | | | | | Loading the debug info from a large application is the slowest task LLDB do. This CL makes most of the dwarf parsing code multi-threaded. As a result the speed of "attach; backtrace; exit;" when the inferior is an LLDB with full debug info increased by a factor of 2 (on my machine). Differential revision: http://reviews.llvm.org/D13662 llvm-svn: 250821
* Increase default memory cache line size for androidPavel Labath2015-10-202-0/+10
| | | | | | | | | | | | | | | | Summary: ADB packets have a maximum size of 4k. This means the size of memory reads does not affect speed too much (as long as it fits in one packet). Therefore, I am increasing the default memory read size for android to 2k. This value is used only if the user has not modified the default memory-cache-line-size setting. Reviewers: clayborg, tberghammer Subscribers: tberghammer, danalbert, srhines, lldb-commits Differential Revision: http://reviews.llvm.org/D13812 llvm-svn: 250814
OpenPOWER on IntegriCloud