summaryrefslogtreecommitdiff
path: root/source/Plugins
AgeCommit message (Collapse)Author
2019-10-22remove multi-argument form of PythonObject::Reset()Lawrence D'Anna
Summary: With this patch, only the no-argument form of `Reset()` remains in PythonDataObjects. It also deletes PythonExceptionState in favor of PythonException, because the only call-site of PythonExceptionState was also using Reset, so I cleaned up both while I was there. Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: mgorny, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69214 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375475 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-21[LLDB] [Windows] Initial support for ARM register contextsMartin Storsjo
Differential Revision: https://reviews.llvm.org/D69226 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375392 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-19eliminate nontrivial Reset(...) from TypedPythonObjectLawrence D'Anna
Summary: This deletes `Reset(...)`, except for the no-argument form `Reset()` from `TypedPythonObject`, and therefore from `PythonString`, `PythonList`, etc. It updates the various callers to use assignment, `As<>`, `Take<>`, and `Retain<>`, as appropriate. followon to https://reviews.llvm.org/D69080 Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69133 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375350 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-19[LLDB] bugfix: command script add -f doesn't work for some callablesLawrence D'Anna
Summary: When users define a debugger command from python, they provide a callable object. Because the signature of the function has been extended, LLDB needs to inspect the number of parameters the callable can take. The rule it was using to decide was weird, apparently not tested, and giving wrong results for some kinds of python callables. This patch replaces the weird rule with a simple one: if the callable can take 5 arguments, it gets the 5 argument version of the signature. Otherwise it gets the old 4 argument version. It also adds tests with a bunch of different kinds of python callables with both 4 and 5 arguments. Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69014 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375333 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-18ProcessMinidump: Suppress reporting stop for signal '0'Joseph Tremoulet
Summary: The minidump exception stream can report an exception record with signal 0. If we try to create a stop reason with signal zero, processing of the stop event won't find anything, and the debugger will hang. So, simply early-out of RefreshStateAfterStop in this case. Also set the UnixSignals object in DoLoadCore as is done for ProcessElfCore. Reviewers: labath, clayborg, jfb Reviewed By: labath, clayborg Subscribers: dexonsmith, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68096 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375244 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-18LLDB: Use LLVM's type for minidump ExceptionStream [NFC]Joseph Tremoulet
Summary: The types defined for it in LLDB are now redundant with core types. Reviewers: labath, clayborg Reviewed By: clayborg Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68658 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375243 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17[lldb][NFC] Fix typo in DWARFASTParserClang.cppRaphael Isemann
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375187 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17eliminate one form of PythonObject::Reset()Lawrence D'Anna
Summary: I'd like to eliminate all forms of Reset() and all public constructors on these objects, so the only way to make them is with Take<> and Retain<> and the only way to copy or move them is with actual c++ copy, move, or assignment. This is a simple place to start. Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D69080 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375182 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17clean up the implementation of PythonCallable::GetNumArgumentsLawrence D'Anna
Summary: The current implementation of PythonCallable::GetNumArguments is not exception safe, has weird semantics, and is just plain incorrect for some kinds of functions. Python 3.3 introduces inspect.signature, which lets us easily query for function signatures in a sane and documented way. This patch leaves the old implementation in place for < 3.3, but uses inspect.signature for modern pythons. It also leaves the old weird semantics in place, but with FIXMEs grousing about it. We should update the callers and fix the semantics in a subsequent patch. It also adds some tests. Reviewers: JDevlieghere, clayborg, labath, jingham Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68995 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375181 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17(NFC) Delete variable made unused by llvm-svn: 375160Sterling Augustine
Reviewers: aprantl Subscribers: llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D69143 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375174 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17Modernize the rest of the Find.* API (NFC)Adrian Prantl
This patch removes the size_t return value and the append parameter from the remainder of the Find.* functions in LLDB's internal API. As in the previous patches, this is motivated by the fact that these parameters aren't really used, and in the case of the append parameter were frequently implemented incorrectly. Differential Revision: https://reviews.llvm.org/D69119 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375160 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17[lldb] Don't emit artificial constructor declarations as global functionsRaphael Isemann
Summary: When we have a artificial constructor DIE, we currently create from that a global function with the name of that class. That ends up causing a bunch of funny errors such as "must use 'struct' tag to refer to type 'Foo' in this scope" when doing `Foo f`. Also causes that constructing a class via `Foo()` actually just calls that global function. The fix is that when we have an artificial method decl, we always treat it as handled even if we don't create a CXXMethodDecl for it (which we never do for artificial methods at the moment). Fixes rdar://55757491 and probably some other radars. Reviewers: aprantl, vsk, shafik Reviewed By: aprantl Subscribers: jingham, shafik, labath, JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68130 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375151 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17[ARC] Add SystemV ABITatyana Krasnukha
Differential Revision: https://reviews.llvm.org/D55724 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375123 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17[ARC] Basic support in gdb-remote process pluginTatyana Krasnukha
Differential Revision: https://reviews.llvm.org/D55718 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375122 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-17delete SWIG typemaps for FILE*Lawrence D'Anna
Summary: The SWIG typemaps for FILE* are no longer used, so this patch deletes them. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68963 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375073 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-16Add arm64_32 support to lldb, an ILP32 codegen Jason Molenda
that runs on arm64 ISA targets, specifically Apple watches. Differential Revision: https://reviews.llvm.org/D68858 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375032 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-16[android/process list] support showing process argumentsWalter Erquinigo
Summary: The qfProcessInfo and qsProcessInfo packets currently don't set the processes' arguments, however the platform process list -v command tries to print it. In this diff I'm adding the arguments as part of the packet, and now the command shows the arguments just like on mac. On Mac: 507 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/libexec/secd 503 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/libexec/secinitd 501 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/libexec/languageassetd --firstLogin 497 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/libexec/trustd --agent 496 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/libexec/lsd 494 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /System/Library/Frameworks/CoreTelephony.framework/Support/CommCenter -L 491 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/sbin/distnoted agent 489 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/libexec/UserEventAgent (Aqua) 484 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /usr/sbin/cfprefsd agent 483 1 wallace 1876110778 wallace 1876110778 x86_64-apple-macosx /System/Library/Frameworks/LocalAuthentication.framework/Support/coreauthd On android: 1561 1016 root 0 0 aarch64-unknown-linux-android /system/bin/ip6tables-restore--noflush -w -v 1805 982 1000 1000 1000 android:drmService 1811 982 10189 10189 10189 com.qualcomm.embms:remote 1999 1 1000 1000 1000 aarch64-unknown-linux-android /system/bin/tlc_serverCCM 2332 982 10038 10038 10038 com.android.systemui 2378 983 1053 1053 1053 webview_zygote 2448 982 5013 5013 5013 com.sec.location.nsflp2 2465 982 10027 10027 10027 com.google.android.gms.persistent Differential Revision: https://reviews.llvm.org/D68293 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@375029 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-16update ScriptInterpreterPython to use File, not FILE*Lawrence D'Anna
Summary: ScriptInterpreterPython needs to save and restore sys.stdout and friends when LLDB runs a python script. It currently does this using FILE*, which is not optimal. If whatever was in sys.stdout can not be represented as a FILE*, then it will not be restored correctly when the script is finished. It also means that if the debugger's own output stream is not representable as a file, ScriptInterpreterPython will not be able to redirect python's output correctly. This patch updates ScriptInterpreterPython to represent files with lldb_private::File, and to represent whatever the user had in sys.stdout as simply a PythonObject. This will make lldb interoperate better with other scripts or programs that need to manipulate sys.stdout. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68962 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374964 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-15eliminate virtual methods from PythonDataObjectsLawrence D'Anna
Summary: This patch eliminates a bunch of boilerplate from PythonDataObjects, as well as the use of virtual methods. In my opinion it also makes the Reset logic a lot more clear and easy to follow. The price is yet another template. I think it's worth it. Reviewers: JDevlieghere, jasonmolenda, labath, zturner Reviewed By: JDevlieghere, labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68918 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374916 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-15SBFile::GetFile: convert SBFile back into python native files.Lawrence D'Anna
Summary: This makes SBFile::GetFile public and adds a SWIG typemap to convert the result back into a python native file. If the underlying File itself came from a python file, it is returned identically. Otherwise a new python file object is created using the file descriptor. Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68737 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374911 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-15[LLDB] [PECOFF] Use a "pc" vendor name in aarch64 triplesMartin Storsjo
This matches all other architectures listed in the same file. This fixes debugging aarch64 executables with lldb-server, which otherwise fails, with log messages like these: Target::SetArchitecture changing architecture to aarch64 (aarch64-pc-windows-msvc) Target::SetArchitecture Trying to select executable file architecture aarch64 (aarch64-pc-windows-msvc) ArchSpec::SetArchitecture sets the vendor to llvm::Triple::PC for any coff/win32 combination, and if this doesn't match the triple set by the PECOFF module, things doesn't seem to work with when using lldb-server. Differential Revision: https://reviews.llvm.org/D68939 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374867 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-15[LLDB] [Windows] Initial support for ARM64 register contextsMartin Storsjo
Differential Revision: https://reviews.llvm.org/D67954 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374866 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-14uint32_t options -> File::OpenOptions optionsLawrence D'Anna
Summary: This patch re-types everywhere that passes a File::OpenOptions as a uint32_t so it actually uses File::OpenOptions. It also converts some OpenOptions related functions that fail by returning 0 or NULL into llvm::Expected split off from https://reviews.llvm.org/D68737 Reviewers: JDevlieghere, jasonmolenda, labath Reviewed By: labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68853 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374817 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12[platform process list] add a flag for showing the processes of all usersWalter Erquinigo
Summary: For context: https://reviews.llvm.org/D68293 We need a way to show all the processes on android regardless of the user id. When you run `platform process list`, you only see the processes with the same user as the user that launched lldb-server. However, it's quite useful to see all the processes, though, and it will lay a foundation for full apk debugging support from lldb. Before: ``` PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 3234 1 aarch64-unknown-linux-android adbd 8034 3234 aarch64-unknown-linux-android sh 9096 3234 aarch64-unknown-linux-android sh 9098 9096 aarch64-unknown-linux-android lldb-server (lldb) ^D ``` Now: ``` (lldb) platform process list -x 205 matching processes were found on "remote-android" PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 1 0 init 524 1 init 525 1 init 531 1 ueventd 568 1 logd 569 1 aarch64-unknown-linux-android servicemanager 570 1 aarch64-unknown-linux-android hwservicemanager 571 1 aarch64-unknown-linux-android vndservicemanager 577 1 aarch64-unknown-linux-android qseecomd 580 577 aarch64-unknown-linux-android qseecomd ... 23816 979 com.android.providers.calendar 24600 979 com.verizon.mips.services 27888 979 com.hualai 28043 2378 com.android.chrome:sandboxed_process0 31449 979 com.att.shm 31779 979 com.samsung.android.authfw 31846 979 com.samsung.android.server.iris 32014 979 com.samsung.android.MtpApplication 32045 979 com.samsung.InputEventApp ``` Reviewers: labath,xiaobai,aadsm,clayborg Subscribers: llvm-svn: 374584 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374631 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12Revert "[platform process list] add a flag for showing the processes of all ↵Walter Erquinigo
users" This reverts commit f670a5edfc70066872e1795d650ed6e1ac62b6a8. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374630 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12[platform process list] add a flag for showing the processes of all usersWalter Erquinigo
Summary: For context: https://reviews.llvm.org/D68293 We need a way to show all the processes on android regardless of the user id. When you run `platform process list`, you only see the processes with the same user as the user that launched lldb-server. However, it's quite useful to see all the processes, though, and it will lay a foundation for full apk debugging support from lldb. Before: ``` PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 3234 1 aarch64-unknown-linux-android adbd 8034 3234 aarch64-unknown-linux-android sh 9096 3234 aarch64-unknown-linux-android sh 9098 9096 aarch64-unknown-linux-android lldb-server (lldb) ^D ``` Now: ``` (lldb) platform process list -x 205 matching processes were found on "remote-android" PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 1 0 init 524 1 init 525 1 init 531 1 ueventd 568 1 logd 569 1 aarch64-unknown-linux-android servicemanager 570 1 aarch64-unknown-linux-android hwservicemanager 571 1 aarch64-unknown-linux-android vndservicemanager 577 1 aarch64-unknown-linux-android qseecomd 580 577 aarch64-unknown-linux-android qseecomd ... 23816 979 com.android.providers.calendar 24600 979 com.verizon.mips.services 27888 979 com.hualai 28043 2378 com.android.chrome:sandboxed_process0 31449 979 com.att.shm 31779 979 com.samsung.android.authfw 31846 979 com.samsung.android.server.iris 32014 979 com.samsung.android.MtpApplication 32045 979 com.samsung.InputEventApp ``` Reviewers: labath,xiaobai,aadsm,clayborg Subscribers: llvm-svn: 374584 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374626 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12Revert "[platform process list] add a flag for showing the processes of all ↵Walter Erquinigo
users" This reverts commit 90d0de4999354a5223f08ad714222b0a5dca3cad. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374625 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12[platform process list] add a flag for showing the processes of all usersWalter Erquinigo
Summary: For context: https://reviews.llvm.org/D68293 We need a way to show all the processes on android regardless of the user id. When you run `platform process list`, you only see the processes with the same user as the user that launched lldb-server. However, it's quite useful to see all the processes, though, and it will lay a foundation for full apk debugging support from lldb. Before: ``` PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 3234 1 aarch64-unknown-linux-android adbd 8034 3234 aarch64-unknown-linux-android sh 9096 3234 aarch64-unknown-linux-android sh 9098 9096 aarch64-unknown-linux-android lldb-server (lldb) ^D ``` Now: ``` (lldb) platform process list -x 205 matching processes were found on "remote-android" PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 1 0 init 524 1 init 525 1 init 531 1 ueventd 568 1 logd 569 1 aarch64-unknown-linux-android servicemanager 570 1 aarch64-unknown-linux-android hwservicemanager 571 1 aarch64-unknown-linux-android vndservicemanager 577 1 aarch64-unknown-linux-android qseecomd 580 577 aarch64-unknown-linux-android qseecomd ... 23816 979 com.android.providers.calendar 24600 979 com.verizon.mips.services 27888 979 com.hualai 28043 2378 com.android.chrome:sandboxed_process0 31449 979 com.att.shm 31779 979 com.samsung.android.authfw 31846 979 com.samsung.android.server.iris 32014 979 com.samsung.android.MtpApplication 32045 979 com.samsung.InputEventApp ``` Reviewers: labath,xiaobai,aadsm,clayborg Subscribers: llvm-svn: 374584 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374622 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12Revert "[platform process list] add a flag for showing the processes of all ↵Walter Erquinigo
users" This reverts commit 08781f4c53a177662c029d3da9c407ba65ae6747. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374621 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12[platform process list] add a flag for showing the processes of all usersWalter Erquinigo
Summary: For context: https://reviews.llvm.org/D68293 We need a way to show all the processes on android regardless of the user id. When you run `platform process list`, you only see the processes with the same user as the user that launched lldb-server. However, it's quite useful to see all the processes, though, and it will lay a foundation for full apk debugging support from lldb. Before: ``` PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 3234 1 aarch64-unknown-linux-android adbd 8034 3234 aarch64-unknown-linux-android sh 9096 3234 aarch64-unknown-linux-android sh 9098 9096 aarch64-unknown-linux-android lldb-server (lldb) ^D ``` Now: ``` (lldb) platform process list -x 205 matching processes were found on "remote-android" PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 1 0 init 524 1 init 525 1 init 531 1 ueventd 568 1 logd 569 1 aarch64-unknown-linux-android servicemanager 570 1 aarch64-unknown-linux-android hwservicemanager 571 1 aarch64-unknown-linux-android vndservicemanager 577 1 aarch64-unknown-linux-android qseecomd 580 577 aarch64-unknown-linux-android qseecomd ... 23816 979 com.android.providers.calendar 24600 979 com.verizon.mips.services 27888 979 com.hualai 28043 2378 com.android.chrome:sandboxed_process0 31449 979 com.att.shm 31779 979 com.samsung.android.authfw 31846 979 com.samsung.android.server.iris 32014 979 com.samsung.android.MtpApplication 32045 979 com.samsung.InputEventApp ``` Reviewers: labath,xiaobai,aadsm,clayborg Subscribers: llvm-svn: 374584 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374620 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-12Temporarily Revert [platform process list] add a flag for showing the ↵Adrian Prantl
processes of all users as it breaks the bots. This reverts r374609 (git commit 696d3cf8ad6f3a0b3019c87526d561bb77ad538e) git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374616 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11[platform process list] add a flag for showing the processes of all usersWalter Erquinigo
Summary: For context: https://reviews.llvm.org/D68293 We need a way to show all the processes on android regardless of the user id. When you run `platform process list`, you only see the processes with the same user as the user that launched lldb-server. However, it's quite useful to see all the processes, though, and it will lay a foundation for full apk debugging support from lldb. Before: ``` PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 3234 1 aarch64-unknown-linux-android adbd 8034 3234 aarch64-unknown-linux-android sh 9096 3234 aarch64-unknown-linux-android sh 9098 9096 aarch64-unknown-linux-android lldb-server (lldb) ^D ``` Now: ``` (lldb) platform process list -x 205 matching processes were found on "remote-android" PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 1 0 init 524 1 init 525 1 init 531 1 ueventd 568 1 logd 569 1 aarch64-unknown-linux-android servicemanager 570 1 aarch64-unknown-linux-android hwservicemanager 571 1 aarch64-unknown-linux-android vndservicemanager 577 1 aarch64-unknown-linux-android qseecomd 580 577 aarch64-unknown-linux-android qseecomd ... 23816 979 com.android.providers.calendar 24600 979 com.verizon.mips.services 27888 979 com.hualai 28043 2378 com.android.chrome:sandboxed_process0 31449 979 com.att.shm 31779 979 com.samsung.android.authfw 31846 979 com.samsung.android.server.iris 32014 979 com.samsung.android.MtpApplication 32045 979 com.samsung.InputEventApp ``` Reviewers: labath,xiaobai,aadsm,clayborg Subscribers: llvm-svn: 374584 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374609 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11Revert "[platform process list] add a flag for showing the processes of all ↵Walter Erquinigo
users" Summary: This reverts commit e4ac611cd787f3f0e727a394e96fb1a5c3b19ccb. There's a failure according to http://lab.llvm.org:8080/green/view/LLDB/job/lldb-cmake/2538/testReport/junit/lldb-api/functionalities_gdb_remote_client/TestPlatformClient_py/ Reviewers: labath, aadsm, clayborg Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68883 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374603 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11Set GNUC version in the LLDB expression parser.Adrian Prantl
This adapts LLDB for https://reviews.llvm.org/D68055. Darwin's libC headers expect the GNUC macro to be set. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374591 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11[NativePDB] Remove unused references to ClangASTImporterAlex Langford
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374587 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11Add -fgnuc-version to ClangModuleCompilationOptions on Darwin.Adrian Prantl
This adapts LLDB for https://reviews.llvm.org/D68055. Darwin's libC headers expect the GNUC macro to be set. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374585 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11[platform process list] add a flag for showing the processes of all usersWalter Erquinigo
Summary: For context: https://reviews.llvm.org/D68293 We need a way to show all the processes on android regardless of the user id. When you run `platform process list`, you only see the processes with the same user as the user that launched lldb-server. However, it's quite useful to see all the processes, though, and it will lay a foundation for full apk debugging support from lldb. Before: ``` PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 3234 1 aarch64-unknown-linux-android adbd 8034 3234 aarch64-unknown-linux-android sh 9096 3234 aarch64-unknown-linux-android sh 9098 9096 aarch64-unknown-linux-android lldb-server (lldb) ^D ``` Now: ``` (lldb) platform process list -x 205 matching processes were found on "remote-android" PID PARENT USER TRIPLE NAME ====== ====== ========== ======================== ============================ 1 0 init 524 1 init 525 1 init 531 1 ueventd 568 1 logd 569 1 aarch64-unknown-linux-android servicemanager 570 1 aarch64-unknown-linux-android hwservicemanager 571 1 aarch64-unknown-linux-android vndservicemanager 577 1 aarch64-unknown-linux-android qseecomd 580 577 aarch64-unknown-linux-android qseecomd ... 23816 979 com.android.providers.calendar 24600 979 com.verizon.mips.services 27888 979 com.hualai 28043 2378 com.android.chrome:sandboxed_process0 31449 979 com.att.shm 31779 979 com.samsung.android.authfw 31846 979 com.samsung.android.server.iris 32014 979 com.samsung.android.MtpApplication 32045 979 com.samsung.InputEventApp ``` Reviewers: labath,xiaobai,aadsm,clayborg Subscribers: git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374584 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11[lldb-test] Modify lldb-test to print out ASTs from symbol fileShafik Yaghmour
Summary: Currently when invoking lldb-test symbols -dump-ast it parses all the debug symbols and calls print(...) on the TranslationUnitDecl. While useful the TranslationUnitDecl::print(...) method gives us a higher level view then the dump from ASTDumper which is what we get when we invoke dump() on a specific AST node. The main motivation for this change is allow us to verify that the AST nodes we create when we parse DWARF. For example in order to verify we are correctly using DIFlagExportSymbols added by D66667 Differential Revision: https://reviews.llvm.org/D67994 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374570 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11[lldb] Insert break to avoid unannotated fall-throughKadir Cetinkaya
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374545 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11minidump: Use llvm memory info list parserPavel Labath
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374532 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-11[Windows] Use information from the PE32 exceptions directory to construct ↵Aleksandr Urakov
unwind plans This patch adds an implementation of unwinding using PE EH info. It allows to get almost ideal call stacks on 64-bit Windows systems (except some epilogue cases, but I believe that they can be fixed with unwind plan disassembly augmentation in the future). To achieve the goal the CallFrameInfo abstraction was made. It is based on the DWARFCallFrameInfo class interface with a few changes to make it less DWARF-specific. To implement the new interface for PECOFF object files the class PECallFrameInfo was written. It uses the next helper classes: - UnwindCodesIterator helps to iterate through UnwindCode structures (and processes chained infos transparently); - EHProgramBuilder with the use of UnwindCodesIterator constructs EHProgram; - EHProgram is, by fact, a vector of EHInstructions. It creates an abstraction over the low-level unwind codes and simplifies work with them. It contains only the information that is relevant to unwinding in the unified form. Also the required unwind codes are read from the object file only once with it; - EHProgramRange allows to take a range of EHProgram and to build an unwind row for it. So, PECallFrameInfo builds the EHProgram with EHProgramBuilder, takes the ranges corresponding to every offset in prologue and builds the rows of the resulted unwind plan. The resulted plan covers the whole range of the function except the epilogue. Reviewers: jasonmolenda, asmith, amccarth, clayborg, JDevlieghere, stella.stamenova, labath, espindola Reviewed By: jasonmolenda Subscribers: leonid.mashinskiy, emaste, mgorny, aprantl, arichardson, MaskRay, lldb-commits, llvm-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D67347 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374528 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10Fix process launch failure on FreeBSD after r365761Dimitry Andric
Summary: After rLLDB365761, and with `LLVM_ENABLE_ABI_BREAKING_CHECKS` enabled, launching any process on FreeBSD crashes lldb with: ``` Expected<T> must be checked before access or destruction. Expected<T> value was in success state. (Note: Expected<T> values in success mode must still be checked prior to being destroyed). ``` This is because `m_operation_thread` and `m_monitor_thread` were wrapped in `llvm::Expected<>`, but this requires the objects to be correctly initialized before accessing them. To fix the crashes, use `llvm::Optional<>` for the members (as indicated by labath), and use local variables to store the return values of `LaunchThread` and `StartMonitoringChildProcess`. Then, only assign to the member variables after checking if the return values indicated success. Reviewers: devnexen, emaste, MaskRay, mgorny Reviewed By: devnexen Subscribers: jfb, labath, krytarowski, lldb-commits Differential Revision: https://reviews.llvm.org/D68723 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374444 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10Speed up accelerator table lookupsAdrian Prantl
When debugging a large program like clang and doing "frame variable *this", the ValueObject pretty printer is doing hundreds of scoped FindTypes lookups. The ones that take longest are the ones where the DWARFDeclContext ends in something like ::Iterator which produces many false positives that need to be filtered out *after* extracting the DIEs. This patch demonstrates a way to filter out false positives at the accerator table lookup step. With this patch lldb clang-10 -o "b EmitFunctionStart" -o r -o "f 2" -o "fr v *this" -b -- ... goes (in user time) from 5.6s -> 4.8s or (in wall clock) from 6.9s -> 6.0s. Differential Revision: https://reviews.llvm.org/D68678 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374401 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10[lldb] Add log output for the support files we pass to the ↵Raphael Isemann
CppModuleConfiguration CppModuleConfiguration is the most likely point of failure when we have weird setups where we fail to load a C++ module. With this logging it should be easier to figure out why we can't find a valid configuration as the configuration only depends on the list of file paths. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374350 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10Fix the unwinding plan augmentation from x86 assemblyPavel Labath
Unwind plan augmentation should compute the plan row at offset x from the instruction before offset x, but currently we compute it from the instruction at offset x. Note that this behavior is a regression introduced when moving the x86 assembly inspection engine to its own file (https://github.com/llvm/llvm-project/commit/1c9858b298d79ce82c45a2954096718b39550109#diff-375a2be066db6f34bb9a71442c9b71fcL913); the original version handled this properly by copying the previous instruction out before advancing the instruction pointer. The relevant bug with more info is here: https://bugs.llvm.org/show_bug.cgi?id=43561 Differential Revision: https://reviews.llvm.org/D68454 Patch by Jaroslav Sevcik <jarin@google.com>. git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374342 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10[Windows] Introduce a switch for the `lldb-server` mode on WindowsAleksandr Urakov
Summary: This patch introduces a switch, based on the environment variable `LLDB_USE_LLDB_SERVER`, to determine whether to use the `ProcessWindows` plugin (the old way) or the `lldb-server` way for debugging on Windows. Reviewers: labath, amccarth, asmith, stella.stamenova Reviewed By: labath, amccarth Subscribers: mstorsjo, abidh, JDevlieghere, lldb-commits, leonid.mashinskiy Tags: #lldb Differential Revision: https://reviews.llvm.org/D68258 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374325 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10[lldb][NFC] Remove strange bool parameter from Searcher::SearchCallbackRaphael Isemann
Summary: The SearchCallback has a bool parameter that we always set to false, we never use in any callback implementation and that also changes its name from one file to the other (either `containing` and `complete`). It was added in the original LLDB check in, so there isn't any history what this was supposed to be, so let's just remove it. Reviewers: jingham, JDevlieghere, labath Reviewed By: jingham, labath Subscribers: lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D68696 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374313 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10[lldb][NFC] Use llvm::all_of instead of std::all_of in CppModuleConfigurationRaphael Isemann
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374307 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-10[lldb][NFC] Use unique_ptr in DiagnosticManager to express ownershipRaphael Isemann
git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374289 91177308-0d34-0410-b5e6-96231b3b80d8
2019-10-09Set eRegisterKindEHFrame register numbers for 32 bit ARM register contexts ↵Greg Clayton
in minidumps Stack unwinding was sometimes failing when trying to unwind stacks in 32 bit ARM. I discovered this was because the EH frame register numbers were not set. This patch fixes this issue and adds a unit test to verify this doesn't regress. Differential Revision: https://reviews.llvm.org/D68088 git-svn-id: https://llvm.org/svn/llvm-project/lldb/trunk@374246 91177308-0d34-0410-b5e6-96231b3b80d8