It's definitely performance critical on the GDB side. There are
people out there debugging apps with 4000+ shared libraries, and
that exposes all kinds of issues:)
Per your suggestion of gdbserver sending events... I've spent some
time thinking about this. I think the direction of the protocol is
correct, in that GDB asks for the library list when it wants it.
What exactly is transferred is open to change (whole list vs deltas)
but I don't know whether anybody is actually having issues with
performance stemming from the size of the transferred list. I can
certainly imagine scenarios where it would be the bottleneck, but
I don't know if these exist in the real world.