Branch Trace Configuration Format (Debugging with GDB)

From Get docs
Gdb/docs/latest/gdb/Branch-Trace-Configuration-Format


E.20 Branch Trace Configuration Format

For each inferior thread, GDB can obtain the branch trace configuration using the ‘qXfer:btrace-conf:read’ (see qXfer btrace-conf read) packet.

The configuration describes the branch trace format and configuration settings for that format. The following information is described:

bts
This thread uses the Branch Trace Store (BTS) format.
size
The size of the BTS ring buffer in bytes.
pt
This thread uses the Intel Processor Trace (Intel PT) format.
size
The size of the Intel PT ring buffer in bytes.

GDB must be linked with the Expat library to support XML branch trace configuration discovery. See Expat.

The formal DTD for the branch trace configuration format is given below:

<!ELEMENT btrace-conf  (bts?, pt?)>
<!ATTLIST btrace-conf    version CDATA   #FIXED "1.0">

<!ELEMENT bts    EMPTY>
<!ATTLIST bts    size    CDATA   #IMPLIED>

<!ELEMENT pt EMPTY>
<!ATTLIST pt size    CDATA   #IMPLIED>