aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/sparc/sys
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-03-21 21:07:30 +0000
committerUlrich Drepper <drepper@redhat.com>2000-03-21 21:07:30 +0000
commit5402148732d74b9deeade21ba1828f10ad574ef7 (patch)
tree33b9f5b85e94309daaa65f449a30d540856ffd49 /sysdeps/unix/sysv/linux/sparc/sys
parent8542e5f038cec88f2b64a324681a277cf86196af (diff)
downloadglibc-5402148732d74b9deeade21ba1828f10ad574ef7.zip
glibc-5402148732d74b9deeade21ba1828f10ad574ef7.tar.gz
glibc-5402148732d74b9deeade21ba1828f10ad574ef7.tar.bz2
Update.
2000-03-21 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/sparc/bits/sigcontext.h: Clean up namespace. Lay out struct sigcontext according to what really gets passed on the stack. * sysdeps/unix/sysv/linux/sparc/sys/procfs.h: Don't include asm/elf.h. (elf_gregset_t, elf_greg_t, elf_fpregset_t, ELF_NGREG): Define. (prgregset_t, prfpregset_t): Define to elf_* types. * sysdeps/unix/sysv/linux/sparc/sys/ptrace.h (PTRACE_WRITEDATA): Define to correct value. * sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h: Use struct sigcontext. * sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h: Likewise.
Diffstat (limited to 'sysdeps/unix/sysv/linux/sparc/sys')
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/procfs.h43
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sys/ptrace.h13
2 files changed, 47 insertions, 9 deletions
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/procfs.h b/sysdeps/unix/sysv/linux/sparc/sys/procfs.h
index d7d990c..9a9db8a 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/procfs.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/procfs.h
@@ -29,11 +29,46 @@
#include <sys/types.h>
#include <sys/ucontext.h>
#include <sys/user.h>
-#include <asm/elf.h>
#include <bits/wordsize.h>
__BEGIN_DECLS
+#if __WORDSIZE == 64
+
+#define ELF_NGREG 20
+
+typedef struct
+ {
+ unsigned long pr_regs[32];
+ unsigned long pr_fsr;
+ unsigned long pr_gsr;
+ unsigned long pr_fprs;
+ } elf_fpregset_t;
+
+#else /* sparc32 */
+
+#define ELF_NGREG 38
+
+typedef struct
+ {
+ union
+ {
+ unsigned long pr_regs[32];
+ double pr_dregs[16];
+ } pr_fr;
+ unsigned long __unused;
+ unsigned long pr_fsr;
+ unsigned char pr_qcnt;
+ unsigned char pr_q_entrysize;
+ unsigned char pr_en;
+ unsigned int pr_q[64];
+ } elf_fpregset_t;
+
+#endif /* sparc32 */
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
struct elf_siginfo
{
int si_signo; /* Signal number. */
@@ -93,11 +128,11 @@ struct elf_prpsinfo
typedef void *psaddr_t;
/* Register sets. Linux has different names. */
-typedef gregset_t prgregset_t;
-typedef fpregset_t prfpregset_t;
+typedef elf_gregset_t prgregset_t;
+typedef elf_fpregset_t prfpregset_t;
/* We don't have any differences between processes and threads,
- therefore habe only ine PID type. */
+ therefore have only one PID type. */
typedef __pid_t lwpid_t;
diff --git a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
index b980e93..c64d433 100644
--- a/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
+++ b/sysdeps/unix/sysv/linux/sparc/sys/ptrace.h
@@ -1,5 +1,5 @@
/* `ptrace' debugger support interface. Linux/SPARC version.
- Copyright (C) 1996, 1997, 1998, 1999 Free Software Foundation, Inc.
+ Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -120,15 +120,18 @@ enum __ptrace_request
PTRACE_ATTACH = 16,
#define PT_ATTACH PTRACE_ATTACH
+ /* Write several bytes at a time. */
+ PTRACE_WRITEDATA = 17,
+#define PTRACE_WRITEDATA PTRACE_WRITEDATA
+
/* Read several bytes at a time. */
PTRACE_READTEXT = 18,
- #define PTRACE_READTEXT PTRACE_READTEXT
- #define PTRACE_READDATA PTRACE_READTEXT
+#define PTRACE_READTEXT PTRACE_READTEXT
+#define PTRACE_READDATA PTRACE_READTEXT
/* Write several bytes at a time. */
PTRACE_WRITETEXT = 19,
- #define PTRACE_WRITETEXT PTRACE_WRITETEXT
- #define PTRACE_WRITEDATA PTRACE_WRITETEXT
+#define PTRACE_WRITETEXT PTRACE_WRITETEXT
#if __WORDSIZE == 64