[lldb-dev] Should FileSpec::Resolve() look at PATH?

Greg Clayton gclayton at apple.com
Tue Oct 14 17:45:27 PDT 2014


As a follow up, the Platform::ResolveExecutable() should be the one to resolve executables and the function call actually shouldn't go on FileSpec.

> On Oct 14, 2014, at 5:38 PM, Greg Clayton <gclayton at apple.com> wrote:
> 
> 
>> On Oct 14, 2014, at 4:36 PM, Zachary Turner <zturner at google.com> wrote:
>> 
>> I have an issue on Windows when trying to run shell commands.  We specify the shell as "cmd.exe", create a FileSpec out of this, and call FileSpec::Resolve.  This ends up making an absolute path out of cmd.exe, but it does so by just sticking the working directory onto the front of it, which is obviously wrong.
>> 
>> My question is: For FileSpecs that are only filenames, nothing else, should we attempt to locate a matching file in PATH, and when we find one use the resulting absolute path?
> 
> Not by default. We should have a method on FileSpec that might say "ResolveExecutableUsingPath()", but I wouldn't do it by default for every file spec. Not every file is an executable, so we shouldn't treat all files as executables by default unless a method is explicitly called on that. 
> 
> As a side questions, we provide a complete path to "/bin/sh" as the shell for unix, shouldn't we specify a full path to "cmd.exe" as well? Does it live in a known location on windows?
> 
> Greg
> 
> 
> _______________________________________________
> lldb-dev mailing list
> lldb-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev





More information about the lldb-dev mailing list