<div dir="ltr">Actually after looking into Process/Utility, I'm even more confused. What's the canonical way to declare registers for a target. Also why does it depend on operating system.<div>Shouldn't the registers themselves be only CPU dependent (is it an ABI difference?)?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Feb 21, 2015 at 11:48 PM, Keno Fischer <span dir="ltr"><<a href="mailto:kfischer@college.harvard.edu" target="_blank">kfischer@college.harvard.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hello everyone,<div><br></div><div>I'm playing around with having lldb connect to a custom gdbserver (which doesn't support the</div><div>qRegisterInfo query). I started out by writing a simple stub ABI plugin that defines the register<br></div><div>table for my target, but reading further through the code, I'm somewhat confused by the separation of concerns here. In particular, it seems like having the gdbserver provide qRegisterInfo is required unless runnning on ARM in which case GDBRemoteDynamicRegisterInfo::HardcodeARMRegisters will add it using has a copy of the Register table from the ABI. I was under the impression that supporting qRegisterInfo was a good idea if registers ever change/get added but was not required and LLDB would fall back on the ABI plugin. Is that not the case? And if not, why not?</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Keno</div></font></span></div>
</blockquote></div><br></div>