Offhand, the main issues with tracepoints on ARM are:
#1 - gdbserver needs to know how to step over the tracepoints, without gdb's intervention.
#2 - ARM can't hw single-step, so that needs to be done the hard way, with breakpoints
(a.k.a., software single-step).
All the logic to do that is in gdb. This conflicts with #1.
So we'd need to teach gdbserver to software single-step. Maybe it's possible
to tell offline all the possible destinations of an instruction, so we could still
leave that logic in gdb, but I suspect not.