Update.
authorUlrich Drepper <drepper@redhat.com>
Sat, 29 Nov 2003 07:30:00 +0000 (07:30 +0000)
committerUlrich Drepper <drepper@redhat.com>
Sat, 29 Nov 2003 07:30:00 +0000 (07:30 +0000)
2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>

* sysdeps/ia64/fpu/fraiseexcpt.c: Don't include <asm/fpu.h>.

2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>

* sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include
<asm/fpu.h>.
(struct ia64_fpreg): New definition.

* sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include
<asm/elf.h>.
(ELF_NGREG): New.
(ELF_NFPREG): Likewise.
(elf_greg_t): Likewise.
(elf_gregset_t): Likewise.
(elf_fpreg_t): Likewise.
(elf_fpregset_t): Likewise.

2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>

* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include
<sys/ucontext.h>.
(__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS.
(pt_all_user_regs): New.

ChangeLog
sysdeps/ia64/fpu/fraiseexcpt.c
sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h
sysdeps/unix/sysv/linux/ia64/sys/procfs.h
sysdeps/unix/sysv/linux/ia64/sys/ptrace.h

index 78eb083..755665d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,29 @@
+2003-10-09  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/ia64/fpu/fraiseexcpt.c: Don't include <asm/fpu.h>.
+
+2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include
+       <asm/fpu.h>.
+       (struct ia64_fpreg): New definition.
+
+       * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include
+       <asm/elf.h>.
+       (ELF_NGREG): New.
+       (ELF_NFPREG): Likewise.
+       (elf_greg_t): Likewise.
+       (elf_gregset_t): Likewise.
+       (elf_fpreg_t): Likewise.
+       (elf_fpregset_t): Likewise.
+
+2003-10-08  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include
+       <sys/ucontext.h>.
+       (__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS.
+       (pt_all_user_regs): New.
+
 2003-10-10  Simon Josefsson  <jas@extundo.com>
 
        * argp/argp-namefrob.h [!_LIBC]: Include mempcpy.h, strcase.h,
index 862b2b8..3086ded 100644 (file)
@@ -23,7 +23,6 @@
 #include <math.h>
 #include <signal.h>
 #include <unistd.h>
-#include <asm/fpu.h>
 
 int
 feraiseexcept (int excepts)
index 74c60e0..61eb67c 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 1998, 2000, 2001, 2003 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jes Sorensen <jes@linuxcare.com>, July 2000
 
 #ifndef _BITS_SIGCONTEXT_H
 #define _BITS_SIGCONTEXT_H 1
 
-#include <asm/fpu.h>
 #include <bits/sigstack.h>
 
+struct ia64_fpreg
+  {
+    union
+      {
+       unsigned long bits[2];
+      } u;
+  } __attribute__ ((aligned (16)));
+
 struct sigcontext
 {
   unsigned long int sc_flags;  /* see manifest constants above */
index 0e0a141..b5196b9 100644 (file)
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2003 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
@@ -29,7 +29,6 @@
 #include <sys/types.h>
 #include <sys/ucontext.h>
 #include <sys/user.h>
-#include <asm/elf.h>
 
 __BEGIN_DECLS
 
@@ -40,6 +39,17 @@ struct elf_siginfo
     int si_errno;                      /* Errno.  */
   };
 
+/* We really need just 72 but let's leave some headroom...  */
+#define ELF_NGREG      128
+/* f0 and f1 could be omitted, but so what...  */
+#define ELF_NFPREG     128
+
+typedef unsigned long elf_greg_t;
+typedef elf_greg_t elf_gregset_t[ELF_NGREG];
+
+typedef struct ia64_fpreg elf_fpreg_t;
+typedef elf_fpreg_t elf_fpregset_t[ELF_NFPREG];
+
 typedef elf_greg_t greg_t;
 typedef elf_gregset_t gregset_t;
 typedef elf_fpregset_t fpregset_t;
index de1f0af..986c4b2 100644 (file)
@@ -21,6 +21,7 @@
 #define _SYS_PTRACE_H  1
 
 #include <features.h>
+#include <sys/ucontext.h>
 
 __BEGIN_DECLS
 
@@ -90,11 +91,34 @@ enum __ptrace_request
   PTRACE_DETACH = 17,
 #define PT_DETACH PTRACE_DETACH
 
+  /* Get all registers (pt_all_user_regs) in one shot */
+  PTRACE_GETREGS = 18,
+#define PT_GETREGS PTRACE_GETREGS
+
+  /* Set all registers (pt_all_user_regs) in one shot */
+  PTRACE_SETREGS = 19,
+#define PT_SETREGS PTRACE_SETREGS
+
   /* Continue and stop at the next (return from) syscall.  */
   PTRACE_SYSCALL = 24
 #define PT_SYSCALL PTRACE_SYSCALL
 };
 
+/* pt_all_user_regs is used for PTRACE_GETREGS/PTRACE_SETREGS.  */
+struct pt_all_user_regs
+  {
+    unsigned long nat;
+    unsigned long cr_iip;
+    unsigned long cfm;
+    unsigned long cr_ipsr;
+    unsigned long pr;
+
+    unsigned long gr[32];
+    unsigned long br[8];
+    unsigned long ar[128];
+    struct ia64_fpreg fr[128];
+  };
+
 /* Perform process tracing functions.  REQUEST is one of the values
    above, and determines the action to be taken.
    For all requests except PTRACE_TRACEME, PID specifies the process to be