[lldb-dev] Current quality/support of lldb on 32-bit Linux systems
Matthew Gardiner
mg11 at csr.com
Thu Feb 13 03:28:13 PST 2014
Hi Todd,
I fixed one of the 32-bit linux problems I've been encountering. The
problem (I think) is that the POSIXThread::GetRegisterContext() in
POSIXThread.cpp was creating RegisterContextLinux_x86_64 regardless of
the target_arch.GetCore().
I currently have no commit access so I'm publishing my diff, in case
someone else in the mailing list (CCd) perhaps has the time to pursue
this further.
[0][][m][] > svn diff lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
Index: lldb/source/Plugins/Process/POSIX/POSIXThread.cpp
===================================================================
--- lldb/source/Plugins/Process/POSIX/POSIXThread.cpp (revision 201208)
+++ lldb/source/Plugins/Process/POSIX/POSIXThread.cpp (working copy)
@@ -183,7 +183,9 @@
reg_interface = new
RegisterContextFreeBSD_x86_64(target_arch);
break;
case llvm::Triple::Linux:
- reg_interface = new
RegisterContextLinux_x86_64(target_arch);
+ reg_interface = ArchSpec::eCore_x86_64_x86_64
== target_arch.GetCore() ?
+ static_cast<RegisterInfoInterface*>(new
RegisterContextLinux_x86_64(target_arch)) :
+ static_cast<RegisterInfoInterface*>(new
RegisterContextLinux_i386(target_arch));
break;
default:
assert(false && "OS not supported");
Thanks
Matt
Member of the CSR plc group of companies. CSR plc registered in England and Wales, registered number 4187346, registered office Churchill House, Cambridge Business Park, Cowley Road, Cambridge, CB4 0WZ, United Kingdom
More information can be found at www.csr.com. Keep up to date with CSR on our technical blog, www.csr.com/blog, CSR people blog, www.csr.com/people, YouTube, www.youtube.com/user/CSRplc, Facebook, www.facebook.com/pages/CSR/191038434253534, or follow us on Twitter at www.twitter.com/CSR_plc.
New for 2014, you can now access the wide range of products powered by aptX at www.aptx.com.
More information about the lldb-dev
mailing list