]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Update.
authorUlrich Drepper <drepper@redhat.com>
Tue, 21 Mar 2000 21:07:30 +0000 (21:07 +0000)
committerUlrich Drepper <drepper@redhat.com>
Tue, 21 Mar 2000 21:07:30 +0000 (21:07 +0000)
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.

ChangeLog
sysdeps/unix/sysv/linux/sparc/sparc32/profil-counter.h
sysdeps/unix/sysv/linux/sparc/sparc32/sigcontextinfo.h
sysdeps/unix/sysv/linux/sparc/sys/procfs.h
sysdeps/unix/sysv/linux/sparc/sys/ptrace.h

index 03fc065f78b63c87c981a816b7819bcb1476220b..240977f3c4b460265a6f17db854cd562e44ac8be 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+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.
+
 2000-03-21  Roland McGrath  <roland@baalperazim.frob.com>
 
        * scripts/firstversions.awk: Allow multiple version sets in the
index 4937725ddf1c0c2c219102ede46b22fec20f3329..39c2a0698b66a781c1eee1d7c8a8399b777b1a41 100644 (file)
@@ -20,7 +20,7 @@
 #include <signal.h>
 
 void
-profil_counter (int signo, __siginfo_t *si)
+profil_counter (int signo, struct sigcontext *si)
 {
   profil_count ((void *) si->si_regs.pc);
 }
index d808b8c49e83f0fb6fb66d33a08f1fec2b38e3e5..9c6b9243194fec55e65351f69a7489e94df50f65 100644 (file)
@@ -17,7 +17,7 @@
    write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    Boston, MA 02111-1307, USA.  */
 
-#define SIGCONTEXT __siginfo_t *
+#define SIGCONTEXT struct sigcontext *
 #define SIGCONTEXT_EXTRA_ARGS
 #define GET_PC(__ctx)  ((void *) ((__ctx)->si_regs.pc))
 #define ADVANCE_STACK_FRAME(__next) \
index d7d990ce8a660fc286f54ff44eb03bbeab4680f1..9a9db8a5b4ceb1b86b6c92a1dc6a9394a19b9817 100644 (file)
 #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;
 
 
index b980e93ae07e1dbad346a192fbeeefc2f5bce690..c64d433f9ea0ec214425a72d20dac7399b65825a 100644 (file)
@@ -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