gdb: add asserts to gdbarch_register_name
authorAndrew Burgess <aburgess@redhat.com>
Thu, 1 Sep 2022 13:01:11 +0000 (14:01 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Sun, 2 Oct 2022 13:21:24 +0000 (14:21 +0100)
commit7df4240040277fb752fd010f5a947cf2d32bc3a5
treea32440970f906c64b01f1d547a583250b0dcb76c
parent9a103324fee16bf4d0bc4fa7b19f5d937d47b881
gdb: add asserts to gdbarch_register_name

This commit adds asserts to gdbarch_register_name that validate the
parameters, and the return value.

The interesting thing here is that gdbarch_register_name is generated
by gdbarch.py, and so, to add these asserts, I need to update the
generation script.

I've added two new arguments for Functions and Methods (as declared in
gdbarch-components.py), these arguments are 'param_checks' and
'result_checks'.  Each of these new arguments can be used to list some
expressions that are then used within gdb_assert calls in the
generated code.

The asserts that validate the API as described in the comment I added
to gdbarch_register_name a few commits back; the register number
passed in needs to be a valid cooked register number, and the result
being returned should not be nullptr.
gdb/gdbarch-components.py
gdb/gdbarch.c
gdb/gdbarch.py