Index: include/lldb/API/SBProcess.h
===================================================================
--- include/lldb/API/SBProcess.h	(revision 177746)
+++ include/lldb/API/SBProcess.h	(working copy)
@@ -103,6 +103,9 @@
                   uint32_t launch_flags,
                   bool stop_at_entry,
                   lldb::SBError& error);
+
+    lldb::SBError
+    LoadCore();
     
     //------------------------------------------------------------------
     // Thread related functions
Index: include/lldb/API/SBTarget.h
===================================================================
--- include/lldb/API/SBTarget.h	(revision 177746)
+++ include/lldb/API/SBTarget.h	(working copy)
@@ -366,6 +366,9 @@
     
     SBProcess
     Launch (SBLaunchInfo &launch_info, SBError& error);
+    
+    SBProcess
+    LoadCore (const char *core_file);
 
     SBProcess
     Attach (SBAttachInfo &attach_info, SBError& error);
Index: source/API/SBTarget.cpp
===================================================================
--- source/API/SBTarget.cpp	(revision 177746)
+++ source/API/SBTarget.cpp	(working copy)
@@ -557,6 +557,25 @@
 }
 
 SBProcess
+SBTarget::LoadCore
+(
+    const char *core_file
+)
+{
+    SBProcess process;
+    FileSpec filespec(core_file, true);
+    TargetSP target_sp(GetSP());
+    if (target_sp)
+    {
+        process = target_sp->CreateProcess(GetDebugger().GetListener().ref(),
+                                           NULL, &filespec);
+        if (process.IsValid())
+            process.LoadCore();
+    }
+    return process;
+}
+
+SBProcess
 SBTarget::LaunchSimple
 (
     char const **argv,
Index: source/API/SBProcess.cpp
===================================================================
--- source/API/SBProcess.cpp	(revision 177746)
+++ source/API/SBProcess.cpp	(working copy)
@@ -232,6 +232,19 @@
     return error.Success();
 }
 
+lldb::SBError
+SBProcess::LoadCore()
+{
+    lldb::SBError result;
+    ProcessSP process_sp(GetSP());
+    if (process_sp)
+    {
+        lldb_private::Error err;
+        err = process_sp->LoadCore();
+        result.SetError(err.GetError(), err.GetType());
+    }
+    return result;
+}
 
 uint32_t
 SBProcess::GetNumThreads ()
Index: scripts/Python/interface/SBTarget.i
===================================================================
--- scripts/Python/interface/SBTarget.i	(revision 177746)
+++ scripts/Python/interface/SBTarget.i	(working copy)
@@ -389,6 +389,26 @@
     
     lldb::SBProcess
     Launch (lldb::SBLaunchInfo &launch_info, lldb::SBError& error);
+
+    %feature("docstring", "
+    //------------------------------------------------------------------
+    /// Load a core file
+    ///
+    /// @param[in] core_file
+    ///     File path of the core dump.
+    ///
+    /// @return
+    ///      A process object for the newly created core file.
+    //------------------------------------------------------------------
+
+    For example,
+
+        process = target.LoadCore('./a.out.core')
+
+    loads a new core file and returns the process object.
+    ") LoadCore;
+    lldb::SBProcess
+    LoadCore(const char *core_file);
     
     lldb::SBProcess
     Attach (lldb::SBAttachInfo &attach_info, lldb::SBError& error);
