Fixed launching in shell on haswell enabled Macs to work more than once when you do:
% lldb -x /bin/ls (lldb) r (lldb) r Prior to this fix the first time it would run /usr/bin/arch with "-arch x86_64" the first time and succeed, and fail the second when the target had updated its architecture to x86_64h. We can't specify x86_64h to /usr/bin/arch, it doesn't handle it. Also fixed it so /usr/bin/arch is only used for Apple triples. <rdar://problem/17951312> llvm-svn: 215475
This commit is contained in:
parent
d7349439d5
commit
bc76668142
|
@ -438,7 +438,9 @@ ProcessLaunchInfo::ConvertArgumentsForLaunchingInShell (Error &error,
|
|||
shell_command.PutCString ("exec");
|
||||
|
||||
// Only Apple supports /usr/bin/arch being able to specify the architecture
|
||||
if (GetArchitecture().IsValid())
|
||||
if (GetArchitecture().IsValid() && // Valid architecture
|
||||
GetArchitecture().GetTriple().getVendor() == llvm::Triple::Apple && // Apple only
|
||||
GetArchitecture().GetCore() != ArchSpec::eCore_x86_64_x86_64h) // Don't do this for x86_64h
|
||||
{
|
||||
shell_command.Printf(" /usr/bin/arch -arch %s", GetArchitecture().GetArchitectureName());
|
||||
// Set the resume count to 2:
|
||||
|
|
Loading…
Reference in New Issue