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
    the register set is an array, which does have some peculiar
    semantics, so leave it that way.  */
-#define ELF_NGREG 20
+#define ELF_NGREG 40
 typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+typedef struct { } elf_fpregset_t;
 
 /* Signal info.  */
 struct elf_siginfo
@@ -93,7 +94,7 @@ typedef void *psaddr_t;
 
 /* Register sets.  Linux has different names.  */
 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,
    therefore have only one PID type.  */