mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update.
1998-03-08 14:58 Ulrich Drepper <drepper@cygnus.com> * Makeconfig (nisobjdir): Set to path to nis directory. (rpath-link): Add nisobjdir. Patch by Sven Verdoolaege <skimo@kotnet.org>. * elf/Makefile: Pretty print. * elf/dl-lookup.c: Include unistd.h. * elf/dl-runtime.c: Likewise. * localedata/Makefile (test-srcs): Add tst-rpmatch. (distribute): Add tst-rpmatch.sh. (tests): Add tst-rpmatch to dependency list and run tst-rpmatch.sh. New tests for rpmatch function by Jochen Hein <jochen.hein@delphi.central.de>. * localedata/tst-rpmatch.c: New file. * localedata/tst-rpmatch.sh: New file. * localedata/locales/de_DE: Correct yesexpr and noexpr. * localedata/locales/de_AT: Likewise. * posix/getopt.c: Update contact address. * posix/getopt1.c: Pretty print. * sysdeps/generic/libc-start.c: Do most of the initialization now here instead of in start.S. * sysdeps/unix/sysv/linux/libc-start.c: Likewise. * sysdeps/i386/elf/start.S: Remove most of the initialization code. * sysdeps/unix/sysv/linux/i386/profil-counter.h: No need for profil_counter to be public. 1998-03-08 13:06 Tim Waugh <tim@cyberelk.demon.co.uk> * posix/wordexp.c (parse_arith): Now works for negative numbers too. (parse_param): Coded parameter length expansion (${#var}). (parse_param): Handling for "=", "+", "-", and the ":" versions added. (parse_param): Cleaned up (fixed) error handling. * posix/wordexp-test.c: IFS now includes non-whitespace character (comma). Added more tests.
This commit is contained in:
@ -1,5 +1,5 @@
|
||||
/* Low-level statistical profiling support function. Linux/i386 version.
|
||||
Copyright (C) 1996, 1997 Free Software Foundation, Inc.
|
||||
Copyright (C) 1996, 1997, 1998 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
|
||||
@ -19,7 +19,7 @@
|
||||
|
||||
#include <signal.h>
|
||||
|
||||
void
|
||||
static void
|
||||
profil_counter (int signo, struct sigcontext sc)
|
||||
{
|
||||
profil_count ((void *) sc.eip);
|
||||
|
@ -17,15 +17,44 @@
|
||||
Boston, MA 02111-1307, USA. */
|
||||
|
||||
#include <link.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
extern void __libc_init_first (void);
|
||||
|
||||
int
|
||||
__libc_start_main (int (*main) (int, char **, char **), int argc,
|
||||
char **argv, char **envp)
|
||||
char **argv, void (*init) (void), void (*fini) (void),
|
||||
void (*rtld_fini) (void))
|
||||
{
|
||||
/* Register the destructor of the dynamic linker if there is any. */
|
||||
if (rtld_fini != NULL)
|
||||
atexit (rtld_fini);
|
||||
|
||||
/* Call the initializer of the libc. */
|
||||
#ifdef PIC
|
||||
if (_dl_debug_impcalls)
|
||||
_dl_debug_message ("\tinitialize libc\n\n", NULL);
|
||||
#endif
|
||||
__libc_init_first ();
|
||||
|
||||
/* Set the global _environ variable correctly. */
|
||||
__environ = &argv[argc + 1];
|
||||
|
||||
/* Call the initializer of the program. */
|
||||
#ifdef PIC
|
||||
if (_dl_debug_impcalls)
|
||||
_dl_debug_message ("\tinitialize program: ", argv[0], "\n\n", NULL);
|
||||
#endif
|
||||
(*init) ();
|
||||
|
||||
/* Register the destructor of the program. */
|
||||
atexit (fini);
|
||||
|
||||
#ifdef PIC
|
||||
if (_dl_debug_impcalls)
|
||||
_dl_debug_message ("\ttransferring control: ", argv[0], "\n\n", NULL);
|
||||
#endif
|
||||
|
||||
return (*main) (argc, argv, envp);
|
||||
exit ((*main) (argc, argv, __environ));
|
||||
}
|
||||
|
Reference in New Issue
Block a user