gdb: LoongArch: Define LOONGARCH_LINUX_NUM_GREGSET as 45
authorTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 24 May 2022 09:46:26 +0000 (17:46 +0800)
committerTiezhu Yang <yangtiezhu@loongson.cn>
Tue, 24 May 2022 14:05:03 +0000 (22:05 +0800)
LOONGARCH_LINUX_NUM_GREGSET should be defined as 45 (32 + 1 + 1 + 11)
due to reserved 11 for extension in glibc, otherwise when execute:

  make check-gdb TESTS="gdb.base/corefile.exp"

there exists the following failed testcase:

  (gdb) core-file /home/loongson/build.git/gdb/testsuite/outputs/gdb.base/corefile/corefile.core
  [New LWP 7742]
  warning: Unexpected size of section `.reg/7742' in core file.
  Core was generated by `/home/loongson/build.git/gdb/testsuite/outputs/gdb.base/corefile/corefile'.
  Program terminated with signal SIGABRT, Aborted.
  warning: Unexpected size of section `.reg/7742' in core file.
  #0  0x000000fff76f4e24 in raise () from /lib/loongarch64-linux-gnu/libc.so.6
  (gdb) FAIL: gdb.base/corefile.exp: core-file warning-free

Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
gdb/loongarch-linux-tdep.c

index bbb43abe13f380b93b0e2f1b514013437364b729..f6854298569627493adcfd94a2943eea809a1710 100644 (file)
@@ -30,9 +30,9 @@
 #include "tramp-frame.h"
 
 /* The general-purpose regset consists of 32 R registers, plus PC,
-   and BADV registers.  */
+   and BADV registers.  In addition, reserved 11 for extension in glibc.  */
 
-#define LOONGARCH_LINUX_NUM_GREGSET    (34)
+#define LOONGARCH_LINUX_NUM_GREGSET    (45)
 
 /* Unpack an elf_gregset_t into GDB's register cache.  */