Record the base register index in the generated C file. Check at runtime that either @g_pos argument of gdb_register_coprocessor() is zero, or it the base register index.
This change pass 'make check-tcg' test suite, which runs the tests/tcg/multiarch/gdbstub/registers.py test, itself calling gdb_register_coprocessor() for each target tested. Signed-off-by: Philippe Mathieu-Daudé <[email protected]> Reviewed-by: Pierrick Bouvier <[email protected]> --- include/exec/gdbstub.h | 1 + scripts/feature_to_c.py | 1 + 2 files changed, 2 insertions(+) diff --git a/include/exec/gdbstub.h b/include/exec/gdbstub.h index 79e47a024ec..75eb4d9c365 100644 --- a/include/exec/gdbstub.h +++ b/include/exec/gdbstub.h @@ -6,6 +6,7 @@ typedef struct GDBFeature { const char *xml; const char *name; const char * const *regs; + int base_reg; int num_regs; } GDBFeature; diff --git a/scripts/feature_to_c.py b/scripts/feature_to_c.py index 1329695ad04..a52cd2e9ec6 100644 --- a/scripts/feature_to_c.py +++ b/scripts/feature_to_c.py @@ -102,6 +102,7 @@ def writeliteral(indent, bytes): sys.stdout.write(',\n') sys.stdout.write( ' },\n') + sys.stdout.write(f' .base_reg = {base_reg},\n') sys.stdout.write(f' .num_regs = {num_regs},\n') sys.stdout.write( ' },\n') -- 2.53.0
