labath added inline comments.

================
Comment at: source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp:4707
+        else
+          // The register info is incorrect, just clear it.
+          m_register_info.Clear();
----------------
tatyana-krasnukha wrote:
> clayborg wrote:
> > Is this a GDB server that you can modify? Or is the code fixed? Seems weird 
> > to ask for registers, and get something back that doesn't work, and then 
> > have to fix it up. Why even tell us the registers then?
> None of 3 gdb-servers we use provides us with "dwarf" field (including 
> Ashling gdb-server and OpenOCD). It's not their business to be aware of 
> DWARF. 
> 
> I'm going to hardcode necessary registers in SysVABI_arc, then 
> AugmentRegisterInfoViaABI will solve the problem.
BTW, I was looking at how we generate unwind plans last week (I need that for 
breakpad symbols), and was surprised to see that we need a running target to 
generate any kind of an unwind plan. After some examination, it turned out that 
all we use from that target is the list of registers. This is suboptimal for 
two reasons:
- you cannot test even the most basic unwind functionality (like parsing 
eh_frame) without having a live process (or a faithful mock) somewhere
- perhaps more importantly: the unwind info that does get parsed is cached in 
the object file, which can be shared between multiple targets. So if another 
target tries to use that info, and this target's stub sends us different 
register numbers than the previous one, then it's unwinding will be all wrong.

Anyway, my point here is that I would be supportive of transitioning to a 
different source of dwarf register numbers than the remote stub.


Repository:
  rLLDB LLDB

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55718/new/

https://reviews.llvm.org/D55718



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to