This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
Hi! This patch matches what the kernel does, passed make check (linuxthreads, NPTL and NPTL with linuxthreads ld.so) and libSegFault.so works. linuxthreads __pthread_sighandler doesn't have to copy 936 bytes around, just passes the pointer which was given to it. 2003-09-09 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h (SIGCONTEXT): Add siginfo_t * argument before, change into struct ucontext *. (SIGCONTEXT_EXTRA_ARGS): Define to _si,. (GET_PC, GET_FRAME, GET_STACK): Adjust for ctx being a pointer instead of structure. * sysdeps/unix/sysv/linux/x86_64/register-dump.h (REGISTER_DUMP): Likewise. --- libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h.jj 2003-09-09 05:17:06.000000000 -0400 +++ libc/sysdeps/unix/sysv/linux/x86_64/sigcontextinfo.h 2003-09-09 05:48:38.000000000 -0400 @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2002 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2002, 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 @@ -16,11 +16,11 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#define SIGCONTEXT struct ucontext -#define SIGCONTEXT_EXTRA_ARGS -#define GET_PC(ctx) ((void *) (ctx).uc_mcontext.gregs[REG_RIP]) -#define GET_FRAME(ctx) ((void *) (ctx).uc_mcontext.gregs[REG_RBP]) -#define GET_STACK(ctx) ((void *) (ctx).uc_mcontext.gregs[REG_RSP]) +#define SIGCONTEXT siginfo_t *_si, struct ucontext * +#define SIGCONTEXT_EXTRA_ARGS _si, +#define GET_PC(ctx) ((void *) (ctx)->uc_mcontext.gregs[REG_RIP]) +#define GET_FRAME(ctx) ((void *) (ctx)->uc_mcontext.gregs[REG_RBP]) +#define GET_STACK(ctx) ((void *) (ctx)->uc_mcontext.gregs[REG_RSP]) #define CALL_SIGHANDLER(handler, signo, ctx) \ (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx)) --- libc/sysdeps/unix/sysv/linux/x86_64/register-dump.h.jj 2003-09-09 05:17:06.000000000 -0400 +++ libc/sysdeps/unix/sysv/linux/x86_64/register-dump.h 2003-09-09 05:53:43.000000000 -0400 @@ -343,4 +343,4 @@ register_dump (int fd, struct ucontext * } -#define REGISTER_DUMP register_dump (fd, &ctx) +#define REGISTER_DUMP register_dump (fd, ctx) Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |