Browse Source

ARC: Implement native GDB requirements in procfs.h

Native GDB requires elf_fpregset_t to be defined, even if floating point
registers are absent. In this case we use empty structure. Additionally we
redefined prfpregset_t to use this new type.

And there has been an error: it was defined that user_regs_struct has 20
registers, while it has 40.

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Anton Kolesov 11 years ago
parent
commit
d5e3720ee1
1 changed files with 3 additions and 2 deletions
  1. 3 2
      libc/sysdeps/linux/arc/sys/procfs.h

+ 3 - 2
libc/sysdeps/linux/arc/sys/procfs.h

@@ -30,8 +30,9 @@ typedef unsigned long elf_greg_t;
    user_regs' directly in the typedef, but tradition says that
    user_regs' directly in the typedef, but tradition says that
    the register set is an array, which does have some peculiar
    the register set is an array, which does have some peculiar
    semantics, so leave it that way.  */
    semantics, so leave it that way.  */
-#define ELF_NGREG 20
+#define ELF_NGREG 40
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+typedef struct { } elf_fpregset_t;
 
 
 /* Signal info.  */
 /* Signal info.  */
 struct elf_siginfo
 struct elf_siginfo
@@ -93,7 +94,7 @@ typedef void *psaddr_t;
 
 
 /* Register sets.  Linux has different names.  */
 /* Register sets.  Linux has different names.  */
 typedef elf_gregset_t prgregset_t;
 typedef elf_gregset_t prgregset_t;
-typedef elf_gregset_t prfpregset_t;
+typedef elf_fpregset_t prfpregset_t;
 
 
 /* We don't have any differences between processes and threads,
 /* We don't have any differences between processes and threads,
    therefore have only one PID type.  */
    therefore have only one PID type.  */