summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Platform
Commit message (Collapse)AuthorAgeFilesLines
...
* Revert r241672, which breaks the OS X build by introducing a dependency onSean Callanan2015-07-084-0/+97
| | | | | | | | | | | | | | | | platform-specific symbols that are not implemented on OS X. The build error that caused this is Undefined symbols for architecture x86_64: "lldb_private::NativeProcessProtocol::Attach(unsigned long long, lldb_private::NativeProcessProtocol::NativeDelegate&, std::__1::shared_ptr<lldb_private::NativeProcessProtocol>&)", referenced from: lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::AttachToProcess(unsigned long long) in liblldb-core.a(GDBRemoteCommunicationServerLLGS.o) "lldb_private::NativeProcessProtocol::Launch(lldb_private::ProcessLaunchInfo&, lldb_private::NativeProcessProtocol::NativeDelegate&, std::__1::shared_ptr<lldb_private::NativeProcessProtocol>&)", referenced from: lldb_private::process_gdb_remote::GDBRemoteCommunicationServerLLGS::LaunchProcess() in liblldb-core.a(GDBRemoteCommunicationServerLLGS.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) llvm-svn: 241688
* Avoid going through Platform when creating a NativeProcessProtocol instancePavel Labath2015-07-084-97/+0
| | | | | | | | | | | | | | | | | | | | | Summary: This commit avoids the Platform instance when spawning or attaching to a process in lldb-server. Instead, I have the server call a (static) method of NativeProcessProtocol directly. The reason for this is that I believe that NativeProcessProtocol should be decoupled from the Platform (after all, it always knows which platform it is running on, unlike the rest of lldb). Additionally, the kind of platform actions a NativeProcessProtocol instance is likely to differ greatly from the platform actions of the lldb client, so I think the separation makes sense. After this, the only dependency NativeProcessLinux has on PlatformLinux is the ResolveExecutable method, which needs additional refactoring. Reviewers: ovyalov, clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D10996 llvm-svn: 241672
* Fix typosBruce Mitchener2015-07-022-2/+2
| | | | | | | | | | | | Summary: Fixes more typos. Reviewers: clayborg Subscribers: lldb-commits-list Differential Revision: http://reviews.llvm.org/D10898 llvm-svn: 241289
* Move PlatformFreeBSD to its own namespaceEd Maste2015-07-022-156/+162
| | | | | | Based on r233679 llvm-svn: 241287
* [LLDB][MIPS] Getting correct flags for MIPSMohit K. Bhakkad2015-06-302-3/+12
| | | | | | | | | | Patch by Nitesh Jain Reviewers: clayborg, ovyalov, emaste. Subscribers: jaydeep, bhushan, dsanders, mohit.bhakkad, sagar, labath, tberghammer, lldb-commits. Differential Revision: http://reviews.llvm.org/D10685 llvm-svn: 241045
* Remove old local-only linux debugging codePavel Labath2015-06-242-42/+1
| | | | | | | | | | | | | | | | | | | | Summary: Currently, the local-only path fails about 50% of the tests, which means that: a) nobody is using it; and b) the remote debugging path is much more stable. This commit removes the local-only linux debugging code (ProcessLinux) and makes remote-loopback the only way to debug local applications (the same architecture as OSX). The ProcessPOSIX code is moved to the FreeBSD directory, which is now the only user of this class. Hopefully, FreeBSD will soon move to the new architecture as well and then this code can be removed completely. Test Plan: Test suite passes via remote stub. Reviewers: emaste, vharron, ovyalov, clayborg Subscribers: tberghammer, emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D10661 llvm-svn: 240543
* Rename `FileSpec::IsRelativeToCurrentWorkingDirectory` to `IsRelative`.Chaoren Lin2015-06-091-2/+2
| | | | | | | | | | | | | | | | | Summary: `IsRelativeToCurrentWorkingDirectory` was misleading, because relative paths are sometimes appended to other directories, not just the cwd. Plus, the new name is shorter. Also added `IsAbsolute` for completeness. Reviewers: clayborg, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D10262 llvm-svn: 239419
* Fix error handling in AdbClient - PushFile and PullFile.Oleksiy Vyalov2015-06-052-10/+82
| | | | | | http://reviews.llvm.org/D10176 llvm-svn: 239130
* [MIPS][lldb-server] Add 32-bit register context and read/write FP registers ↵Sagar Thakur2015-06-031-0/+2
| | | | | | | | | | | | | on mips64 - Added support for read/write FP registers in FR1 mode. - Added 32 bit register context for mips32. Reviewers: clayborg, tberghammer, jaydeep Subscribers: emaste, nitesh.jain, bhushan, mohit.bhakkad, lldb-commits Differential Revision: http://reviews.llvm.org/D10029 llvm-svn: 238914
* Fix PlatformAndroid::PutFile to support relative destination paths.Oleksiy Vyalov2015-06-021-7/+10
| | | | llvm-svn: 238860
* Use FileSpec::IsRelativeToCurrentWorkingDirectory instead of ↵Oleksiy Vyalov2015-05-291-8/+3
| | | | | | | | llvm::sys::path::is_relative in PlatformAndroid::GetFile. http://reviews.llvm.org/D10141 llvm-svn: 238624
* Fix build - GetRemoteWorkingDirectory returns FileSpec instead of ConstString.Oleksiy Vyalov2015-05-291-1/+1
| | | | llvm-svn: 238610
* Fix PlatformAndroid::GetFile - check for relative source path and ↵Oleksiy Vyalov2015-05-291-4/+12
| | | | | | concatenate it with current working directory if needed. llvm-svn: 238606
* Refactor many file functions to use FileSpec over strings.Chaoren Lin2015-05-298-123/+125
| | | | | | | | | | | | | | | | | Summary: This should solve the issue of sending denormalized paths over gdb-remote if we stick to GetPath(false) in GDBRemoteCommunicationClient, and let the server handle any denormalization. Reviewers: ovyalov, zturner, vharron, clayborg Reviewed By: clayborg Subscribers: tberghammer, emaste, lldb-commits Differential Revision: http://reviews.llvm.org/D9728 llvm-svn: 238604
* Don't #include "lldb-python.h" from anywhere.Zachary Turner2015-05-295-10/+0
| | | | | | | | | | | | | Since interaction with the python interpreter is moving towards being more isolated, we won't be able to include this header from normal files anymore, all includes of it should be localized to the python library which will live under source/bindings/API/Python after a future patch. None of the files that were including this header actually depended on it anyway, so it was just a dead include in every single instance. llvm-svn: 238581
* Refactor AdbClient and make PlatformAndroid::GetFile to use "adb pull".Oleksiy Vyalov2015-05-284-33/+63
| | | | | | http://reviews.llvm.org/D10082 llvm-svn: 238442
* Add thumb breakpoint for FreeBSD (currently disabled)Ed Maste2015-05-281-3/+24
| | | | | | | | | | | Patch by Tom Rix, with additional changes to sync whitespace/style with PlatformLinux.cpp. It is currently disabled pending kernel support. Differential Revision: http://reviews.llvm.org/D9170 llvm-svn: 238420
* Implement and use adb push for PlatformAndroid::PutFileRobert Flack2015-05-274-2/+73
| | | | | | | | | | | | | Using the adb push protocol is significantly faster than the current method of sending the hex encoded file data for the remote to write to the file. Test Plan: Tests continue to pass - and much faster (e.g. TestSBValuePersist.py takes 10s down from 4m51s on mac -> android) Differential Revision: http://reviews.llvm.org/D9943 llvm-svn: 238274
* Sync PlatformFreeBSD::GetSupportedArchitectureAtIndex with PlatformLinuxEd Maste2015-05-261-13/+45
| | | | | | | Reviewed by Ted Woodward Differential Revision: http://reviews.llvm.org/D9764 llvm-svn: 238246
* Added XML to the host layer.Greg Clayton2015-05-261-1/+1
| | | | | | | | | | | | We know have on API we should use for all XML within LLDB in XML.h. This API will be easy back the XML parsing by different libraries in case libxml2 doesn't work on all platforms. It also allows the only place for #ifdef ...XML... to be in XML.h and XML.cpp. The API is designed so it will still compile with or without XML support and there is a static function "bool XMLDocument::XMLEnabled()" that can be called to see if XML is currently supported. All APIs will return errors, false, or nothing when XML isn't enabled. Converted all locations that used XML over to using the host XML implementation. Added target.xml support to debugserver. Extended the XML register format to work for LLDB by including extra attributes and elements where needed. This allows the target.xml to replace the qRegisterInfo packets and allows us to fetch all register info in a single packet. <rdar://problem/21090173> llvm-svn: 238224
* Implement PlatformWindows::GetEnvironment.Zachary Turner2015-05-222-0/+15
| | | | | | | This fixes a couple of tests that rely on being able to get the host's environment or spawn an inferior with specific arguments. llvm-svn: 238042
* Implement attach to process on Windows.Zachary Turner2015-05-202-42/+82
| | | | | | | Differential Revision: http://reviews.llvm.org/D9801 Reviewed by: Adrian McCarthy llvm-svn: 237817
* Use ADB pull to download modules from android target.Oleksiy Vyalov2015-05-184-35/+228
| | | | | | http://reviews.llvm.org/D9816 llvm-svn: 237640
* Assembly profiler for mips32Bhushan D. Attarde2015-05-151-0/+2
| | | | | | | | | | | Summary: Implementation of assembly profiler for MIPS32 using EmulateInstruction which currently scans only prologue/epilogue assembly instructions. It uses llvm::MCDisassembler to decode assembly instructions. Reviewers: clayborg, jasonmolenda Differential Revision: http://reviews.llvm.org/D9769 llvm-svn: 237420
* Add mips64el trap opcode to PlatformFreeBSD as wellEd Maste2015-05-131-0/+7
| | | | llvm-svn: 237315
* Restore breaks lost in shuffling GetSoftwareBreakpointTrapOpcodeEd Maste2015-05-131-0/+3
| | | | llvm-svn: 237313
* Add AArch64 and MIPS breakpoint opcodes and sort casesEd Maste2015-05-131-6/+18
| | | | | | New opcodes from PlatformLinux.cpp llvm-svn: 237306
* Initial FreeBSD/arm live debugging supportEd Maste2015-05-131-0/+6
| | | | | | | Patch by Tom Rix, except using the RegisterContextFreeBSD_arm files added in r235305 instead. llvm-svn: 237303
* Rearrange PlatformFreeBSD to match PlatformLinuxEd Maste2015-05-131-134/+134
| | | | | | No functional change, but this simplifies diffs of the two. llvm-svn: 237302
* Change Linux Platform to support non-host Linux architecturesTed Woodward2015-05-131-0/+24
| | | | | | | | | | | | | | | | | | | | | | Summary: This was originally http://reviews.llvm.org/D8709 , but I didn't commit it correctly. Since then GetSupportedArchitectureAtIndex() has been changed. That change, http://reviews.llvm.org/D9511 , breaks non-x86 linux implementations, so this change goes back to the old implementation and adds remote linux support from D8709. D8709 summary: The Linux Platform currently will only say the Host architecture is supported. This patch retains that behavior for the Host Platform, but adds a list of architectures for the Remote Platform. Reviewers: clayborg, flackr Reviewed By: clayborg Subscribers: lldb-commits Differential Revision: http://reviews.llvm.org/D9683 llvm-svn: 237278
* Fixed a ton of gcc compile warningsVince Harron2015-05-133-6/+6
| | | | | | | | | | Removed some unused variables, added some consts, changed some casts to const_cast. I don't think any of these changes are very controversial. Differential Revision: http://reviews.llvm.org/D9674 llvm-svn: 237218
* Call remote platform GetSupportedArchitectureAtIndex if connected to remote.Robert Flack2015-05-121-9/+27
| | | | | | | | | | | | | | | | | Updated PlatformLinux::GetSupportedArchitectureAtIndex to call the PlatformRemoteGdbServer::GetSupportedArchitectureAtIndex if connected remotely. This should return the correct thing for android (to fix those failing tests), and is also working for mac to linux. Test Plan: ./dotest.py $DOTEST_OPTS -t -p TestCallStdStringFunction.py The above still passes when running mac->linux indicating it successfully identified PlatformLinux as the target platform and converted the mmap options correctly. Differential Revision: http://reviews.llvm.org/D9672 llvm-svn: 237128
* Remove Triple Vendor check when creating FreeBSD PlatformEd Maste2015-05-121-27/+5
| | | | | | This is equivalent to r237052 in PlatformLinux.cpp. llvm-svn: 237075
* Remove Triple Vendor check when creating Linux PlatformTed Woodward2015-05-111-27/+6
| | | | | | | | | | | | | | Summary: The Linux Platform shouldn't care about the Vendor field in the Triple. Currently it allows a value of "PC", or "unknown" if LLDB was built on Linux. This patch removes that check, so the Vendor field isn't touched. This will allow the Linux Platform to be created when using a Triple of *-*-Linux. Reviewers: vharron, clayborg, sas, tberghammer Reviewed By: clayborg, sas, tberghammer Subscribers: tberghammer, sas, lldb-commits Differential Revision: http://reviews.llvm.org/D8742 llvm-svn: 237052
* Convert mmap options for target in InferiorCallMmap.Robert Flack2015-05-092-16/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | Converts the MAP_PRIVATE and MAP_ANON options to the target platform constants (on which the call runs) rather than using those of the compiled host. Test Plan: Run test suite, the following tests requiring memory allocation / JIT support begin passing when running mac -> linux: Test11588.py TestAnonymous.py TestBreakpointConditions.py TestCPPStaticMethods.py TestCStrings.py TestCallStdStringFunction.py TestDataFormatterCpp.py TestDataFormatterStdList.py TestExprDoesntBlock.py TestExprHelpExamples.py TestFunctionTypes.py TestPrintfAfterUp.py TestSBValuePersist.py TestSetValues.py Differential Revision: http://reviews.llvm.org/D9511 llvm-svn: 236933
* Support remote-android with multiple connected devices.Chaoren Lin2015-05-017-63/+80
| | | | | | | | | | | | | | | | | | Summary: This change introduces a new URL scheme for `platform connect`: ``` adb://device-id:port ``` Reviewers: vharron, tberghammer, clayborg, ovyalov Reviewed By: ovyalov Subscribers: tberghammer, lldb-commits Differential Revision: http://reviews.llvm.org/D9358 llvm-svn: 236321
* Make sure versions are valid before we try to use them. Also check for ↵Greg Clayton2015-04-271-4/+8
| | | | | | invalid versions[0] by comparing it to UINT32_MAX instead of 0. llvm-svn: 235892
* Pass normalized target file paths via GDB-remote to a target and denormalize ↵Oleksiy Vyalov2015-04-161-1/+1
| | | | | | | | them on the target. http://reviews.llvm.org/D8980 llvm-svn: 235077
* Fix breakpoint trap opcode detection for arm linuxTamas Berghammer2015-04-151-2/+1
| | | | llvm-svn: 234986
* Remove 'z' modifier from printf/sscanf operations in AdbClient - the ↵Oleksiy Vyalov2015-04-101-5/+5
| | | | | | modifier isn't supported by MS C++ compiler. llvm-svn: 234562
* [LLDB][MIPS] Add LinuxSignals for mips64 and change trap opcode for mips64el.Mohit K. Bhakkad2015-04-091-1/+7
| | | | | | | | | | | | | | | Patch by Sagar Thakur - Added LinuxSignals for MIPS64. - Changed software trap opcode for mips64el. Reviewers: clayborg, tberghammer. Subscribers: emaste, jaydeep, bhushan, mohit.bhakkad, llvm-commits. Differential Revision: http://reviews.llvm.org/D8856 llvm-svn: 234469
* Fix -Wformat-pedantic warningsDavid Blaikie2015-04-081-3/+2
| | | | llvm-svn: 234429
* Remove redundant virtual for member functions marked 'override'.David Blaikie2015-04-083-39/+23
| | | | llvm-svn: 234422
* Delete port forwarding if ConnectRemote fails.Oleksiy Vyalov2015-04-072-15/+29
| | | | | | http://reviews.llvm.org/D8826 llvm-svn: 234332
* Fix ForwardPortWithAdb - update device_id variable if Android device has ↵Oleksiy Vyalov2015-04-011-1/+2
| | | | | | been found. llvm-svn: 233780
* Fix Windows build after r233679Tamas Berghammer2015-03-311-3/+2
| | | | llvm-svn: 233680
* Move several plugin to its own namespaceTamas Berghammer2015-03-3110-147/+176
| | | | | | | | | | | | | Affected paths: * Plugins/Platform/Android/* * Plugins/Platform/Linux/* * Plugins/Platform/gdb-server/* * Plugins/Process/Linux/* * Plugins/Process/gdb-remote/* Differential revision: http://reviews.llvm.org/D8654 llvm-svn: 233679
* Use Android device serial number instead of hostname as a target identifier ↵Oleksiy Vyalov2015-03-255-15/+75
| | | | | | | | within module cache. http://reviews.llvm.org/D8597 llvm-svn: 233202
* Remove virtual and add override for lots of function.Tamas Berghammer2015-03-251-85/+85
| | | | | | | | | | Effeted pathes: * Host/posix/* * Platform/gdb-server/* * Process/Linux/* * Process/POSIX/* llvm-svn: 233193
* Fix some -Winconsistent-missing-override warnings (& some particularly weird ↵David Blaikie2015-03-242-102/+102
| | | | | | indenting) llvm-svn: 233123
OpenPOWER on IntegriCloud