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

	* sysdeps/generic/getenv.c: Fix last change.

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

	* sysdeps/generic/backtrace.c: Provide generic implementation.

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

	* configure.in: Give visual feedback of the default directories we
	added.

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

	* io/fts.c (fts_build): Define oflag only if needed.

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

	* sysdeps/libm-ieee754/w_exp10.c: Add missing close comment.
This commit is contained in:
Ulrich Drepper 1998-06-12 07:36:49 +00:00
parent b07d03e000
commit ecdc196cac
6 changed files with 86 additions and 11 deletions

View File

@ -1,3 +1,24 @@
1998-06-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/getenv.c: Fix last change.
1998-06-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/generic/backtrace.c: Provide generic implementation.
1998-06-10 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* configure.in: Give visual feedback of the default directories we
added.
1998-06-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* io/fts.c (fts_build): Define oflag only if needed.
1998-06-11 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
* sysdeps/libm-ieee754/w_exp10.c: Add missing close comment.
1998-06-11 Ulrich Drepper <drepper@cygnus.com>
* libc.map: Don't export argp's fmtstream handling functions.

View File

@ -429,14 +429,14 @@ changequote([,])dnl
done
# Add the default directories.
default_sysnames=sysdeps/generic
if test "$elf" = yes; then
sysnames="$names sysdeps/generic/elf sysdeps/generic"
else
sysnames="$names sysdeps/generic"
default_sysnames="sysdeps/generic/elf $default_sysnames"
fi
sysnames="$names $default_sysnames"
AC_SUBST(sysnames)
# The other names were emitted during the scan.
AC_MSG_RESULT(sysdeps/generic)
AC_MSG_RESULT($default_sysnames)
### Locate tools.

View File

@ -578,8 +578,11 @@ fts_build(sp, type)
FTSENT *cur, *tail;
DIR *dirp;
void *adjaddr;
int cderrno, descend, len, level, maxlen, nlinks, oflag, saved_errno;
int cderrno, descend, len, level, maxlen, nlinks, saved_errno;
char *cp;
#ifdef DTF_HIDEW
int oflag;
#endif
/* Set current node pointer. */
cur = sp->fts_cur;

View File

@ -1,4 +1,4 @@
/* Return backtrace of current program state.
/* Return backtrace of current program state. Generic version.
Copyright (C) 1998 Free Software Foundation, Inc.
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
@ -21,14 +21,63 @@
#include <execinfo.h>
/* This is a global variable set at program start time. It marks the
highest used stack address. */
extern void *__libc_stack_end;
/* This implementation assumes a stack layout that matches the defaults
used by gcc's `__builtin_frame_address' and `__builtin_return_address'
(FP is the frame pointer register):
+-----------------+ +-----------------+
FP -> | previous FP --------> | previous FP ------>...
| | | |
| return address | | return address |
+-----------------+ +-----------------+
*/
/* Get some notion of the current stack. Need not be exactly the top
of the stack, just something somewhere in the current frame. */
#ifndef CURRENT_STACK_FRAME
# define CURRENT_STACK_FRAME ({ char __csf; &__csf; })
#endif
struct layout
{
struct layout *next;
void *return_address;
};
int
__backtrace (array, size)
void **array;
int size;
{
/* We don't generally have the possibility to determine the stack
trace. Even gcc's `__builtin_return_address' feature cannot help
since it requires a constant argument. */
return 0;
struct layout *current;
void *top_frame;
void *top_stack;
int cnt = 0;
top_frame = __builtin_frame_address (0);
top_stack = CURRENT_STACK_FRAME;
/* We skip the call to this function, it makes no sense to record it. */
current = (struct layout *) top_frame;
while (cnt < size)
{
if ((void *) current < top_stack || (void *) current > __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. */
break;
array[cnt++] = current->return_address;
current = current->next;
}
return cnt;
}
weak_alias (__backtrace, backtrace)

View File

@ -37,7 +37,7 @@ char *
getenv (name)
const char *name;
{
const size_t len = strlen (name);
size_t len = strlen (name);
char **ep;
uint16_t name_start;

View File

@ -1,5 +1,7 @@
/* @(#)w_exp10.c
* Conversion to exp10 by Ulrich Drepper <drepper@cygnus.com>.
*/
/*
* ====================================================
* Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.