1998-06-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/backtrace.c (INNER_THAN): New definition, use it
	to compare stack addresses.
This commit is contained in:
Ulrich Drepper 1998-06-17 10:24:52 +00:00
parent 0751550d36
commit e021cda255
2 changed files with 12 additions and 1 deletions

View File

@ -1,3 +1,8 @@
1998-06-16 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/backtrace.c (INNER_THAN): New definition, use it
to compare stack addresses.
1998-06-17 Ulrich Drepper <drepper@cygnus.com>
* sysdeps/unix/sysv/linux/alpha/glob.c: Include glob.h before

View File

@ -44,6 +44,11 @@ extern void *__libc_stack_end;
# define CURRENT_STACK_FRAME ({ char __csf; &__csf; })
#endif
/* By default we assume that the stack grows downward. */
#ifndef INNER_THAN
# define INNER_THAN <
#endif
struct layout
{
struct layout *next;
@ -67,7 +72,8 @@ __backtrace (array, size)
current = (struct layout *) top_frame;
while (cnt < size)
{
if ((void *) current < top_stack || (void *) current > __libc_stack_end)
if ((void *) current INNER_THAN top_stack
|| !((void *) current INNER_THAN __libc_stack_end))
/* This means the address is out of range. Note that for the
toplevel we see a frame pointer with value NULL which clearly is
out of range. */