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] |
Jakub Jelinek <jakub@redhat.com> writes: > 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. And does not copy more data than was passed to it - the kernel might pass less than those bytes around. > 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) Thanks! This looks correct to me! Andreas -- Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SuSE Linux AG, Deutschherrnstr. 15-19, 90429 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |