From: Ulrich Drepper Date: Sat, 29 Nov 2003 07:30:00 +0000 (+0000) Subject: Update. X-Git-Tag: upstream/2.30~18549 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=06522d7e9919fe1c151f3b706daa8b00034a3f88;p=external%2Fglibc.git Update. 2003-10-09 H.J. Lu * sysdeps/ia64/fpu/fraiseexcpt.c: Don't include . 2003-10-08 H.J. Lu * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include . (struct ia64_fpreg): New definition. * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include . (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 * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include . (__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS. (pt_all_user_regs): New. --- diff --git a/ChangeLog b/ChangeLog index 78eb083..755665d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,29 @@ +2003-10-09 H.J. Lu + + * sysdeps/ia64/fpu/fraiseexcpt.c: Don't include . + +2003-10-08 H.J. Lu + + * sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h: Don't include + . + (struct ia64_fpreg): New definition. + + * sysdeps/unix/sysv/linux/ia64/sys/procfs.h: Don't include + . + (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 + + * sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Include + . + (__ptrace_request): Add PTRACE_GETREGS and PTRACE_SETREGS. + (pt_all_user_regs): New. + 2003-10-10 Simon Josefsson * argp/argp-namefrob.h [!_LIBC]: Include mempcpy.h, strcase.h, diff --git a/sysdeps/ia64/fpu/fraiseexcpt.c b/sysdeps/ia64/fpu/fraiseexcpt.c index 862b2b8..3086ded 100644 --- a/sysdeps/ia64/fpu/fraiseexcpt.c +++ b/sysdeps/ia64/fpu/fraiseexcpt.c @@ -23,7 +23,6 @@ #include #include #include -#include int feraiseexcept (int excepts) diff --git a/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h b/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h index 74c60e0..61eb67c 100644 --- a/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h +++ b/sysdeps/unix/sysv/linux/ia64/bits/sigcontext.h @@ -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 , July 2000 @@ -24,9 +24,16 @@ #ifndef _BITS_SIGCONTEXT_H #define _BITS_SIGCONTEXT_H 1 -#include #include +struct ia64_fpreg + { + union + { + unsigned long bits[2]; + } u; + } __attribute__ ((aligned (16))); + struct sigcontext { unsigned long int sc_flags; /* see manifest constants above */ diff --git a/sysdeps/unix/sysv/linux/ia64/sys/procfs.h b/sysdeps/unix/sysv/linux/ia64/sys/procfs.h index 0e0a141..b5196b9 100644 --- a/sysdeps/unix/sysv/linux/ia64/sys/procfs.h +++ b/sysdeps/unix/sysv/linux/ia64/sys/procfs.h @@ -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 #include #include -#include __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; diff --git a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h index de1f0af..986c4b2 100644 --- a/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h +++ b/sysdeps/unix/sysv/linux/ia64/sys/ptrace.h @@ -21,6 +21,7 @@ #define _SYS_PTRACE_H 1 #include +#include __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