E.4. Varying Target Capabilities
Some targets don't support floating-point, and some would rather not
have to deal with long long operations. Also, different targets
will have different stack sizes, and different bytecode buffer lengths.
Thus, GDB needs a way to ask the target about itself. We haven't worked
out the details yet, but in general, GDB should be able to send the
target a packet asking it to describe itself. The reply should be a
packet whose length is explicit, so we can add new information to the
packet in future revisions of the agent, without confusing old versions
of GDB, and it should contain a version number. It should contain at
least the following information:
whether floating point is supported
whether long long is supported
maximum acceptable size of bytecode stack
maximum acceptable length of bytecode expressions
which registers are actually available for collection
whether the target supports disabled tracepoints