]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
gdb/gdbserver: change shared set_tdesc_osabi to take gdb_osabi
authorAndrew Burgess <aburgess@redhat.com>
Tue, 8 Oct 2024 09:34:02 +0000 (10:34 +0100)
committerAndrew Burgess <aburgess@redhat.com>
Thu, 10 Oct 2024 16:36:21 +0000 (17:36 +0100)
commitd2f8a107b79a44d64fedc843b9843704dae035a6
tree2d4579695dc35e4ed3dcd826b5f1ba71f506fa33
parent67470b3532fd031959169740fa99550fc8a06b84
gdb/gdbserver: change shared set_tdesc_osabi to take gdb_osabi

There is a single declaration of set_tdesc_osabi that is shared
between gdbserver/ and gdb/, this declaration takes a 'const char *'
argument which is the string representing an osabi.

Then in gdb/ we have an overload of set_tdesc_osabi which takes an
'enum gdb_osabi'.

In this commit I change the shared set_tdesc_osabi to be the version
which takes an 'enum gdb_osabi', and I remove the version which takes
a 'const char *'.  All users of set_tdesc_osabi are updated to pass an
'enum gdb_osabi'.

The features/ code, which is generated from the xml files, requires a
new function to be added to osabi.{c,h} which can return a string
representation of an 'enum gdb_osabi'.  With that new function in
place the features/ code is regenerated.

This change is being made to support the next commit.  In the next
commit gdbserver will be updated to call set_tdesc_osabi in more
cases.  The problem is that gdbserver stores the osabi as a string.
The issue here is that a typo in the gdbserver/ code might go
unnoticed and result in gdbserver sending back an invalid osabi
string.

To fix this we want gdbserver to pass an 'enum gdb_osabi' to the
set_tdesc_osabi function.  With that requirement in place it seems to
make sense if all calls to set_tdesc_osabi pass an 'enum gdb_osabi'.

There should be no user visible changes after this commit.

Approved-By: Luis Machado <luis.machado@arm.com>
Approved-By: Simon Marchi <simon.marchi@efficios.com>
14 files changed:
gdb/arch/amd64.c
gdb/arch/i386.c
gdb/arch/tic6x.c
gdb/features/mips-dsp-linux.c
gdb/features/mips-linux.c
gdb/features/or1k-linux.c
gdb/features/sparc/sparc32-solaris.c
gdb/features/sparc/sparc64-solaris.c
gdb/osabi.c
gdb/osabi.h
gdb/target-descriptions.c
gdb/target-descriptions.h
gdbserver/tdesc.cc
gdbsupport/tdesc.h