mirror of
git://sourceware.org/git/glibc.git
synced 2024-11-21 01:12:26 +08:00
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.
This commit is contained in:
parent
8542e5f038
commit
5402148732
14
ChangeLog
14
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
|
||||
|
@ -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);
|
||||
}
|
||||
|
@ -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) \
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user