Abtracted the innards of lldb-core away from the SB interface. There was some

overlap in the SWIG integration which has now been fixed by introducing
callbacks for initializing SWIG for each language (python only right now).
There was also a breakpoint command callback that called into SWIG which has
been abtracted into a callback to avoid cross over as well.

Added a new binary: lldb-platform

This will be the start of the remote platform that will use as much of the 
Host functionality to do its job so it should just work on all platforms.
It is pretty hollowed out for now, but soon it will implement a platform
using the GDB remote packets as the transport.

llvm-svn: 128053
This commit is contained in:
Greg Clayton
2011-03-22 01:14:58 +00:00
parent 348a548381
commit fc36f79170
14 changed files with 327 additions and 229 deletions

View File

@@ -3351,78 +3351,6 @@ RNBRemote::HandlePacket_qHostInfo (const char *p)
strm << "ptrsize:" << std::dec << sizeof(void *) << ';';
return SendPacket (strm.str());
}
//
//struct ProcessInfo
//{
// nub_process_t pid;
// std::string name;
// std::string user;
// std::string group;
// uint32_t cpu; // mach-o cpu type
// uint32_t sub; // mach-o cpu subtype
//
// void
// Clear()
// {
// pid = 0;
// name.clear();
// user.clear();
// group.clear();
// cpu = 0;
// sub = 0;
// }
//};
//
//static bool
//GetMacOSXProcessName (ProcessInfo &proc_info,
// const char *name_match) // can be NULL
//{
// char process_name[MAXCOMLEN * 2 + 1];
// int name_len = ::proc_name(proc_info.pid, process_name, MAXCOMLEN * 2);
// if (name_len == 0)
// return false;
//
// if (name_match == NULL || strcmp (name_match, process_name) == 0)
// {
// proc_info.name.assign (process_name, name_len);
// return true;
// }
// proc_info.name.clear();
// return false;
//}
//
//
//static bool
//GetMacOSXProcessCPUType (ProcessInfo &proc_info)
//{
// // Make a new mib to stay thread safe
// int mib[CTL_MAXNAME]={0,};
// size_t mib_len = CTL_MAXNAME;
// if (::sysctlnametomib("sysctl.proc_cputype", mib, &mib_len))
// return false;
//
// mib[mib_len] = proc_info.pid;
// mib_len++;
//
// cpu_type_t cpu = 0;
// cpu_type_t sub = 0;
// size_t cpu_len = sizeof(cpu);
// if (::sysctl (mib, mib_len, &cpu, &cpu_len, 0, 0) == 0)
// {
// switch (cpu)
// {
// case llvm::MachO::CPUTypeI386: sub = llvm::MachO::CPUSubType_I386_ALL; break;
// case llvm::MachO::CPUTypeX86_64: sub = llvm::MachO::CPUSubType_X86_64_ALL; break;
// default: break;
// }
// proc_info.cpu = cpu;
// proc_info.sub = sub;
// return true;
// }
// proc_info.cpu = 0;
// proc_info.sub = 0;
// return false;
//}
rnb_err_t
RNBRemote::HandlePacket_qProcessInfo (const char *p)