2001-04-11  David S. Miller  <davem@redhat.com>

	* sysdeps/sparc/sparc32/pt-machine.h (stack_pointer): Advance
	up closer to user local variables so that new cleanup heuristics work.
	* sysdeps/sparc/sparc64/pt-machine.h (stack_pointer): Likewise.
This commit is contained in:
Ulrich Drepper 2001-04-11 23:01:06 +00:00
parent 95fe9d959f
commit 43df859b95
4 changed files with 14 additions and 7 deletions

View File

@ -1,3 +1,9 @@
2001-04-11 David S. Miller <davem@redhat.com>
* sysdeps/sparc/sparc32/pt-machine.h (stack_pointer): Advance
up closer to user local variables so that new cleanup heuristics work.
* sysdeps/sparc/sparc64/pt-machine.h (stack_pointer): Likewise.
2001-04-11 Ulrich Drepper <drepper@redhat.com> 2001-04-11 Ulrich Drepper <drepper@redhat.com>
* cancel.c (_pthread_cleanup_push): Catch invalid __prev buffer * cancel.c (_pthread_cleanup_push): Catch invalid __prev buffer

View File

@ -1,6 +1,6 @@
/* Machine-dependent pthreads configuration and inline functions. /* Machine-dependent pthreads configuration and inline functions.
sparc version. sparc version.
Copyright (C) 1996, 1997, 1998, 2000 Free Software Foundation, Inc. Copyright (C) 1996, 1997, 1998, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>. Contributed by Richard Henderson <rth@tamu.edu>.
@ -43,7 +43,7 @@ testandset (int *spinlock)
/* Get some notion of the current stack. Need not be exactly the top /* Get some notion of the current stack. Need not be exactly the top
of the stack, just something somewhere in the current frame. */ of the stack, just something somewhere in the current frame. */
#define CURRENT_STACK_FRAME stack_pointer #define CURRENT_STACK_FRAME (stack_pointer + (2 * 64))
register char *stack_pointer __asm__("%sp"); register char *stack_pointer __asm__("%sp");

View File

@ -1,6 +1,6 @@
/* Machine-dependent pthreads configuration and inline functions. /* Machine-dependent pthreads configuration and inline functions.
Sparc v9 version. Sparc v9 version.
Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc. Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
This file is part of the GNU C Library. This file is part of the GNU C Library.
Contributed by Richard Henderson <rth@tamu.edu>. Contributed by Richard Henderson <rth@tamu.edu>.
@ -50,7 +50,7 @@ testandset (int *spinlock)
/* Get some notion of the current stack. Need not be exactly the top /* Get some notion of the current stack. Need not be exactly the top
of the stack, just something somewhere in the current frame. */ of the stack, just something somewhere in the current frame. */
#define CURRENT_STACK_FRAME stack_pointer #define CURRENT_STACK_FRAME (stack_pointer + (2 * 128))
register char *stack_pointer __asm__ ("%sp"); register char *stack_pointer __asm__ ("%sp");

View File

@ -20,6 +20,7 @@ cleanup (void *arg)
char *cp = stpcpy (s, "cleanup "); char *cp = stpcpy (s, "cleanup ");
*cp++ = '0' + nr; *cp++ = '0' + nr;
*cp++ = '\n'; *cp++ = '\n';
__libc_lseek (fd, 0, SEEK_END);
__libc_write (fd, s, cp - s); __libc_write (fd, s, cp - s);
} }