gdb: Prefer RISC-V register name "s0" over "fp"

The "fp" register name is an alias for "s0" which is an alias for "x8".
The "fp" name is only understood by very recent Binutils and thus not
used by GCC.  GCC does not emit a frame pointer with common optimization
options such as -Og or -O2.

It is still possible to use the "fp" register name, e.g.

  (gdb) p/x $fp
  $1 = 0x800367c8

works.

However, in the register dump you see now:

  (gdb) info registers
  ...
  t2             0xffffffffffffffff       18446744073709551615
  s0             0x800367c8       0x800367c8
  s1             0x80033280       2147693184
  ...

gdb/

	* riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0"
	entries.
This commit is contained in:
Sebastian Huber
2018-06-29 10:50:11 +02:00
parent c0c468d562
commit 41823f29a8
2 changed files with 5 additions and 1 deletions

View File

@ -1,3 +1,7 @@
2018-07-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
* riscv-tdep.c (riscv_register_aliases): Swap "fp" and "s0" entries.
2018-06-29 Joel Brobecker <brobecker@adacore.com>
* amd64-darwin-tdep.c (x86_darwin_init_abi_64): Add missing

View File

@ -128,8 +128,8 @@ static const struct register_alias riscv_register_aliases[] =
{ "t0", 5 },
{ "t1", 6 },
{ "t2", 7 },
{ "fp", 8 },
{ "s0", 8 },
{ "fp", 8 },
{ "s1", 9 },
{ "a0", 10 },
{ "a1", 11 },