summaryrefslogtreecommitdiffstats
path: root/lldb/source/API
diff options
context:
space:
mode:
Diffstat (limited to 'lldb/source/API')
-rw-r--r--lldb/source/API/SBDebugger.cpp53
1 files changed, 24 insertions, 29 deletions
diff --git a/lldb/source/API/SBDebugger.cpp b/lldb/source/API/SBDebugger.cpp
index 430700d1896..2adf7963357 100644
--- a/lldb/source/API/SBDebugger.cpp
+++ b/lldb/source/API/SBDebugger.cpp
@@ -341,7 +341,7 @@ SBDebugger::GetDefaultArchitecture (char *arch_name, size_t arch_name_len)
if (default_arch.IsValid())
{
- ::snprintf (arch_name, arch_name_len, "%s", default_arch.AsCString());
+ ::snprintf (arch_name, arch_name_len, "%s", default_arch.GetArchitectureName());
return true;
}
}
@@ -423,7 +423,7 @@ SBDebugger::CreateTargetWithFileAndTargetTriple (const char *filename,
{
ArchSpec arch;
FileSpec file_spec (filename, true);
- arch.SetArchFromTargetTriple(target_triple);
+ arch.SetTriple (target_triple);
TargetSP target_sp;
Error error (m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file_spec, arch, NULL, true, target_sp));
target.reset (target_sp);
@@ -440,7 +440,7 @@ SBDebugger::CreateTargetWithFileAndTargetTriple (const char *filename,
}
SBTarget
-SBDebugger::CreateTargetWithFileAndArch (const char *filename, const char *archname)
+SBDebugger::CreateTargetWithFileAndArch (const char *filename, const char *arch_cstr)
{
LogSP log(lldb_private::GetLogIfAllCategoriesSet (LIBLLDB_LOG_API));
@@ -448,31 +448,28 @@ SBDebugger::CreateTargetWithFileAndArch (const char *filename, const char *archn
if (m_opaque_sp)
{
FileSpec file (filename, true);
- ArchSpec arch = lldb_private::Target::GetDefaultArchitecture ();
+ ArchSpec arch;
TargetSP target_sp;
Error error;
- if (archname != NULL)
- {
- ArchSpec arch2 (archname);
- error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch2, NULL, true, target_sp);
- }
+ if (arch_cstr)
+ arch.SetTriple (arch_cstr);
else
- {
- if (!arch.IsValid())
- arch = LLDB_ARCH_DEFAULT;
+ arch = lldb_private::Target::GetDefaultArchitecture ();
- error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, NULL, true, target_sp);
+ if (!arch.IsValid())
+ arch.SetTriple (LLDB_ARCH_DEFAULT);
- if (error.Fail())
- {
- if (arch == LLDB_ARCH_DEFAULT_32BIT)
- arch = LLDB_ARCH_DEFAULT_64BIT;
- else
- arch = LLDB_ARCH_DEFAULT_32BIT;
+ error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, NULL, true, target_sp);
- error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, NULL, true, target_sp);
- }
+ if (error.Fail())
+ {
+ if (strcmp (LLDB_ARCH_DEFAULT, LLDB_ARCH_DEFAULT_32BIT) == 0)
+ arch.SetTriple (LLDB_ARCH_DEFAULT_64BIT);
+ else
+ arch.SetTriple (LLDB_ARCH_DEFAULT_32BIT);
+
+ error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, NULL, true, target_sp);
}
if (error.Success())
@@ -485,7 +482,7 @@ SBDebugger::CreateTargetWithFileAndArch (const char *filename, const char *archn
if (log)
{
log->Printf ("SBDebugger(%p)::CreateTargetWithFileAndArch (filename=\"%s\", arch=%s) => SBTarget(%p)",
- m_opaque_sp.get(), filename, archname, target.get());
+ m_opaque_sp.get(), filename, arch_cstr, target.get());
}
return target;
@@ -503,16 +500,16 @@ SBDebugger::CreateTarget (const char *filename)
Error error;
if (!arch.IsValid())
- arch = LLDB_ARCH_DEFAULT;
+ arch.SetTriple (LLDB_ARCH_DEFAULT);
error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, NULL, true, target_sp);
if (error.Fail())
{
- if (arch == LLDB_ARCH_DEFAULT_32BIT)
- arch = LLDB_ARCH_DEFAULT_64BIT;
+ if (strcmp (LLDB_ARCH_DEFAULT, LLDB_ARCH_DEFAULT_32BIT) == 0)
+ arch.SetTriple (LLDB_ARCH_DEFAULT_64BIT);
else
- arch = LLDB_ARCH_DEFAULT_32BIT;
+ arch.SetTriple (LLDB_ARCH_DEFAULT_32BIT);
error = m_opaque_sp->GetTargetList().CreateTarget (*m_opaque_sp, file, arch, NULL, true, target_sp);
}
@@ -563,9 +560,7 @@ SBDebugger::FindTargetWithFileAndArch (const char *filename, const char *arch_na
if (m_opaque_sp && filename && filename[0])
{
// No need to lock, the target list is thread safe
- ArchSpec arch;
- if (arch_name)
- arch.SetArch(arch_name);
+ ArchSpec arch (arch_name);
TargetSP target_sp (m_opaque_sp->GetTargetList().FindTargetWithExecutableAndArchitecture (FileSpec(filename, false), arch_name ? &arch : NULL));
sb_target.reset(target_sp);
}
OpenPOWER on IntegriCloud