Good question! Looks like the code is relying on the definitions matching. (I used one of the sample debugger stubs, which seems not to have been changed for many years; meanwhile, gdb seems to have introduced its own enumeration. I guess I'll look into this again at some point.) It doesn't seem to matter much anyway, as GDB's remote stub communicator only seems to ever use two concrete values. I guess the rest are just indicative. TBH it's several months since I worked on the code and it was my first time hacking inside GDB!