llvm-project/lldb/source/Target
Med Ismail Bennani addb5148f5 [lldb/Target] Add custom interpreter option to `platform shell`
This patch adds the ability to use a custom interpreter with the
`platform shell` command. If the user set the `-s|--shell` option
with the path to a binary, lldb passes it down to the platform's
`RunShellProcess` method and set it as the shell to use in
`ProcessLaunchInfo to run commands.

Note that not all the Platforms support running shell commands with
custom interpreters (i.e. RemoteGDBServer is only expected to use the
default shell).

This patch also makes some refactoring and cleanups, like swapping
CString for StringRef when possible and updating `SBPlatformShellCommand`
with new methods and a new constructor.

rdar://67759256

Differential Revision: https://reviews.llvm.org/D86667

Signed-off-by: Med Ismail Bennani <medismail.bennani@gmail.com>
2020-09-02 16:36:10 +02:00
..
ABI.cpp Internal expressions shouldn't increment the result variable numbering. 2020-03-23 13:30:37 -07:00
AssertFrameRecognizer.cpp [lldb] Store StackFrameRecognizers in the target instead of a global list 2020-07-17 09:26:27 +02:00
CMakeLists.txt Move thread plan stacks into the Process, indexed by TID. 2020-04-03 14:56:28 -07:00
ExecutionContext.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
InstrumentationRuntime.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
InstrumentationRuntimeStopInfo.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
JITLoader.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
JITLoaderList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
Language.cpp [lldb/DataFormatters] Delete GetStringPrinterEscapingHelper 2020-05-04 14:06:55 -07:00
LanguageRuntime.cpp [lldb] Have LanguageRuntime and SystemRuntime share a base class (NFC) 2020-07-24 16:28:34 -07:00
Memory.cpp [LLDB] Fix AddressSanitizer failure in MemoryCache 2020-02-27 11:17:10 -08:00
MemoryHistory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
MemoryRegionInfo.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ModuleCache.cpp [lldb] Use std::make_unique<> (NFC) 2020-06-24 17:48:40 -07:00
OperatingSystem.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
PathMappingList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
Platform.cpp [lldb/Target] Add custom interpreter option to `platform shell` 2020-09-02 16:36:10 +02:00
Process.cpp Add a setting to force stepping to always run all threads. 2020-08-07 14:47:31 -07:00
Queue.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
QueueItem.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
QueueList.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RegisterContext.cpp Remove code duplication from RegisterContextPOSIX_* 2020-06-18 01:02:46 +05:00
RegisterContextUnwind.cpp [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
RegisterNumber.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
RemoteAwarePlatform.cpp [lldb/Target] Add custom interpreter option to `platform shell` 2020-09-02 16:36:10 +02:00
SectionLoadHistory.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
SectionLoadList.cpp [lldb] Switch Section-dumping code to raw_ostream 2020-05-14 11:59:18 +02:00
StackFrame.cpp Unify the return value of GetByteSize to an llvm::Optional<uint64_t> (NFC-ish) 2020-07-27 13:26:35 -07:00
StackFrameList.cpp [lldb] Fix -Wmissing-field-initializers in StackFrameList 2020-06-09 11:58:08 +02:00
StackFrameRecognizer.cpp [lldb] Make deleting frame recognizers actually work 2020-07-23 17:43:37 +02:00
StackID.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
StopInfo.cpp [lldb] NFC: Fix trivial typo in comments, documents, and messages 2020-04-07 01:06:16 +09:00
StructuredDataPlugin.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
SystemRuntime.cpp [lldb] Have LanguageRuntime and SystemRuntime share a base class (NFC) 2020-07-24 16:28:34 -07:00
Target.cpp Instantiate Error in Target::GetEntryPointAddress() only when necessary 2020-08-22 12:47:13 +02:00
TargetList.cpp Unify the code that updates the ArchSpec after finding a fat binary 2020-08-06 13:30:17 -07:00
TargetProperties.td Add a setting to force stepping to always run all threads. 2020-08-07 14:47:31 -07:00
Thread.cpp [lldb][NFC] Fix warning in Thread::AutoCompleteThreadPlans 2020-08-11 10:26:01 +02:00
ThreadCollection.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ThreadList.cpp Allow the ThreadPlanStackMap to hold the thread plans for threads 2020-04-03 14:56:28 -07:00
ThreadPlan.cpp Fix LLDB debug builds 2020-04-03 19:49:38 -07:00
ThreadPlanBase.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanCallFunction.cpp [lldb] Don't use static locals for return value storage in some *AsCString functions 2020-07-30 12:17:42 +02:00
ThreadPlanCallFunctionUsingABI.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanCallOnFunctionExit.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ThreadPlanCallUserExpression.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanPython.cpp Add a setting to force stepping to always run all threads. 2020-08-07 14:47:31 -07:00
ThreadPlanRunToAddress.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanShouldStopHere.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
ThreadPlanStack.cpp [lldb] Fix -Wparentheses in ThreadPlanStack.cpp 2020-04-15 12:47:57 +02:00
ThreadPlanStepInRange.cpp [lldb] Use std::make_unique<> (NFC) 2020-06-24 17:48:40 -07:00
ThreadPlanStepInstruction.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepOut.cpp Allow the ThreadPlanStackMap to hold the thread plans for threads 2020-04-03 14:56:28 -07:00
ThreadPlanStepOverBreakpoint.cpp [lldb] Don't use static locals for return value storage in some *AsCString functions 2020-07-30 12:17:42 +02:00
ThreadPlanStepOverRange.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepRange.cpp Remove special Hexagon packet traversal code 2020-08-05 12:05:42 -05:00
ThreadPlanStepThrough.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanStepUntil.cpp Make ThreadPlans use TID and Process, rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadPlanTracer.cpp Make ThreadPlanTracers use TID & Process rather than Thread *. 2020-04-03 14:56:28 -07:00
ThreadSpec.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
UnixSignals.cpp [lldb][NFC] Remove several inefficient ConstString -> const char * -> StringRef conversions 2020-02-11 09:14:41 +01:00
UnwindAssembly.cpp [lldb][NFC] Fix all formatting errors in .cpp file headers 2020-01-24 08:52:55 +01:00
UnwindLLDB.cpp [lldb] Make UnwindLLDB a non-plugin 2020-03-10 13:56:15 +01:00