Re: [PATCH 3/4] Enable tracing of pseudo-registers on ARM

Pedro Alves
2016-02-15T10:57:58Z

On 02/15/2016 10:27 AM, Yao Qi wrote:
> Marcin KoÅ›cielnicki <koriakin@0x04.net> writes:
>

>>
>> Matter of fact, our support for >64-bit quantities in tracepoints is
>> very poor at the moment - they can only be collected wholesale when
>> they're single registers or contig memory areas. Use in expressions
>> is out (if you happen to have something interesting in low 32 bits of
>> a vector reg, sorry). Likewise, stiching them together with
>> DW_op_piece (or whatever that was called) also fails (see
>> https://sourceware.org/bugzilla/show_bug.cgi?id=17015). We could
>> definitely use some improvement there...
>
> Yeah, agreed.
>

I think the that ultimate long term solution would pass actual DWARF
expressions to the target side as collect actions. AX predates DWARF; probably
if we were starting now we'd base it on DWARF. Then for the most part,
we'd stop getting into trouble with mapping DWARF constructs to AX.

I imagine we'd reuse gdb/dwarf2expr.c somehow, similarly to get-next-pcs,
and that we'd maybe lower/rewrite some of the the DWARF before passing
it to the target, to e.g., maybe avoid relying on debug info types or
the frame/unwind machinery.

+Gary, since given Infinity is based on DWARF expressions, it may
be Gary's already looked at factoring out gdb/dwarf2expr.c.

Not a trivial project though...

Thanks,
Pedro Alves