glibc/elf/sprof.c

1384 lines
38 KiB
C
Raw Normal View History

Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Read and display shared object profiling data.
2006-01-02 03:15:56 +08:00
Copyright (C) 1997-2004, 2005, 2006 Free Software Foundation, Inc.
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
This file is part of the GNU C Library.
Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
The GNU C Library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, write to the Free
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#include <argp.h>
#include <dlfcn.h>
#include <elf.h>
#include <error.h>
#include <fcntl.h>
#include <inttypes.h>
#include <libintl.h>
#include <locale.h>
#include <obstack.h>
#include <search.h>
#include <stdbool.h>
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
Update. 2000-03-23 Andreas Jaeger <aj@suse.de> * elf/dl-addr.c: Adjust include paths for ldsodefs location change. * elf/dl-debug.c: Likewise. * elf/dl-deps.c: Likewise. * elf/dl-error.c: Likewise. * elf/dl-fini.c: Likewise. * elf/dl-init.c: Likewise. * elf/dl-load.c: Likewise. * elf/dl-lookup.c: Likewise. * elf/dl-minimal.c: Likewise. * elf/dl-object.c: Likewise. * elf/dl-open.c: Likewise. * elf/dl-preinit.c: Likewise. * elf/dl-profile.c: Likewise. * elf/dl-profstub.c: Likewise. * elf/dl-reloc.c: Likewise. * elf/dl-runtime.c: Likewise. * elf/dl-support.c: Likewise. * elf/dl-symbol.c: Likewise. * elf/dl-version.c: Likewise. * elf/rtld.c: Likewise. * elf/sprof.c: Likewise. * sysdeps/generic/dl-cache.c: Likewise. * sysdeps/generic/dl-origin.c: Likewise. * sysdeps/generic/dl-sysdep.c: Likewise. * sysdeps/generic/elf/backtracesyms.c: Likewise. * sysdeps/generic/elf/backtracesymsfd.c: Likewise. * sysdeps/generic/libc-start.c: Likewise. * sysdeps/mach/hurd/dl-sysdep.c: Likewise. * sysdeps/powerpc/dl-machine.c: Likewise. * sysdeps/powerpc/elf/libc-start.c: Likewise. * sysdeps/sparc/sparc32/dl-machine.h: Likewise. * sysdeps/sparc/sparc64/dl-machine.h: Likewise. * sysdeps/unix/sysv/linux/dl-origin.c: Likewise. * elf/ldsodefs.h: Move file to ... * sysdeps/generic/ldsodefs.h: ... here. * sysdeps/generic/ldsodefs.h: Add definition for D_PTR. * sysdeps/mips/elf/ldsodefs.h: New file. * elf/dl-version.c (match_symbol): Use D_PTR to access relocated entries in l_info. (_dl_check_map_versions): Likewise. * elf/dl-reloc.c (_dl_relocate_object): Likewise. * elf/dl-load.c (_dl_init_paths): Likewise. (_dl_map_object): Likewise. * elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Likewise. (elf_get_dynamic_info): Likewise. * elf/do-lookup.h (FCT): Likewise. * elf/do-rel.h (elf_dynamic_do_rel): Likewise. * elf/dl-deps.c (_dl_map_object_deps): Likewise. * elf/dl-addr.c (_dl_addr): Likewise. * elf/dl-runtime.c (profile_fixup): Likewise. (fixup): Likewise. * elf/dl-init.c (_dl_init_next): Likewise. * sysdeps/generic/dl-machine.h (elf_machine_runtime_setup): Likewise. * sysdeps/unix/sysv/linux/i386/dl-librecon.h (DISTINGUISH_LIB_VERSIONS): Likewise. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Likewise. (elf_machine_rel): Likewise. * elf/dynamic-link.h (elf_get_dynamic_info): Only change l_info for writable dynamic section.
2000-03-24 04:31:46 +08:00
#include <ldsodefs.h>
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#include <sys/gmon.h>
#include <sys/gmon_out.h>
#include <sys/mman.h>
#include <sys/param.h>
#include <sys/stat.h>
/* Get libc version number. */
#include "../version.h"
#define PACKAGE _libc_intl_domainname
#include <endian.h>
#if BYTE_ORDER == BIG_ENDIAN
# define byteorder ELFDATA2MSB
# define byteorder_name "big-endian"
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#elif BYTE_ORDER == LITTLE_ENDIAN
# define byteorder ELFDATA2LSB
# define byteorder_name "little-endian"
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#else
# error "Unknown BYTE_ORDER " BYTE_ORDER
# define byteorder ELFDATANONE
#endif
#ifndef PATH_MAX
# define PATH_MAX 1024
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#endif
extern int __profile_frequency (void);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Name and version of program. */
static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *) = print_version;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
#define OPT_TEST 1
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Definitions of arguments for argp functions. */
static const struct argp_option options[] =
{
{ NULL, 0, NULL, 0, N_("Output selection:") },
{ "call-pairs", 'c', NULL, 0,
N_("print list of count paths and their number of use") },
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
{ "flat-profile", 'p', NULL, 0,
N_("generate flat profile with counts and ticks") },
{ "graph", 'q', NULL, 0, N_("generate call graph") },
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{ "test", OPT_TEST, NULL, OPTION_HIDDEN, NULL },
{ NULL, 0, NULL, 0, NULL }
};
/* Short description of program. */
static const char doc[] = N_("Read and display shared object profiling data.\v\
For bug reporting instructions, please see:\n\
<http://www.gnu.org/software/libc/bugs.html>.\n");
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Strings for arguments in help texts. */
static const char args_doc[] = N_("SHOBJ [PROFDATA]");
/* Prototype for option handler. */
static error_t parse_opt (int key, char *arg, struct argp_state *state);
/* Data structure to communicate with argp functions. */
static struct argp argp =
{
options, parse_opt, args_doc, doc
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
};
/* Operation modes. */
static enum
{
NONE = 0,
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
FLAT_MODE = 1 << 0,
CALL_GRAPH_MODE = 1 << 1,
CALL_PAIRS = 1 << 2,
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
DEFAULT_MODE = FLAT_MODE | CALL_GRAPH_MODE
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
} mode;
/* Nozero for testing. */
static int do_test;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Strcuture describing calls. */
struct here_fromstruct
{
struct here_cg_arc_record volatile *here;
uint16_t link;
};
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* We define a special type to address the elements of the arc table.
This is basically the `gmon_cg_arc_record' format but it includes
the room for the tag and it uses real types. */
struct here_cg_arc_record
{
uintptr_t from_pc;
uintptr_t self_pc;
uint32_t count;
} __attribute__ ((packed));
struct known_symbol;
struct arc_list
{
size_t idx;
uintmax_t count;
struct arc_list *next;
};
static struct obstack ob_list;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
struct known_symbol
{
const char *name;
uintptr_t addr;
size_t size;
bool weak;
bool hidden;
uintmax_t ticks;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
uintmax_t calls;
struct arc_list *froms;
struct arc_list *tos;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
};
struct shobj
{
const char *name; /* User-provided name. */
struct link_map *map;
1998-03-09 17:11:57 +08:00
const char *dynstrtab; /* Dynamic string table of shared object. */
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
const char *soname; /* Soname of shared object. */
uintptr_t lowpc;
uintptr_t highpc;
unsigned long int kcountsize;
size_t expected_size; /* Expected size of profiling file. */
size_t tossize;
size_t fromssize;
size_t fromlimit;
unsigned int hashfraction;
int s_scale;
1998-03-09 17:11:57 +08:00
void *symbol_map;
size_t symbol_mapsize;
const ElfW(Sym) *symtab;
size_t symtab_size;
const char *strtab;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
struct obstack ob_str;
struct obstack ob_sym;
};
struct profdata
{
void *addr;
off_t size;
char *hist;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
struct gmon_hist_hdr *hist_hdr;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
uint16_t *kcount;
uint32_t narcs; /* Number of arcs in toset. */
struct here_cg_arc_record *data;
uint16_t *tos;
struct here_fromstruct *froms;
};
/* Search tree for symbols. */
static void *symroot;
static struct known_symbol **sortsym;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
static size_t symidx;
static uintmax_t total_ticks;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Prototypes for local functions. */
static struct shobj *load_shobj (const char *name);
static void unload_shobj (struct shobj *shobj);
static struct profdata *load_profdata (const char *name, struct shobj *shobj);
static void unload_profdata (struct profdata *profdata);
static void count_total_ticks (struct shobj *shobj, struct profdata *profdata);
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
static void count_calls (struct shobj *shobj, struct profdata *profdata);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
static void read_symbols (struct shobj *shobj);
static void add_arcs (struct profdata *profdata);
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
static void generate_flat_profile (struct profdata *profdata);
static void generate_call_graph (struct profdata *profdata);
static void generate_call_pair_list (struct profdata *profdata);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
int
main (int argc, char *argv[])
{
const char *shobj;
const char *profdata;
struct shobj *shobj_handle;
struct profdata *profdata_handle;
int remaining;
setlocale (LC_ALL, "");
/* Initialize the message catalog. */
textdomain (_libc_intl_domainname);
/* Parse and process arguments. */
argp_parse (&argp, argc, argv, 0, &remaining, NULL);
if (argc - remaining == 0 || argc - remaining > 2)
{
/* We need exactly two non-option parameter. */
argp_help (&argp, stdout, ARGP_HELP_SEE | ARGP_HELP_EXIT_ERR,
program_invocation_short_name);
exit (1);
}
/* Get parameters. */
shobj = argv[remaining];
if (argc - remaining == 2)
profdata = argv[remaining + 1];
else
/* No filename for the profiling data given. We will determine it
from the soname of the shobj, later. */
profdata = NULL;
/* First see whether we can load the shared object. */
shobj_handle = load_shobj (shobj);
if (shobj_handle == NULL)
exit (1);
/* We can now determine the filename for the profiling data, if
nececessary. */
if (profdata == NULL)
{
char *newp;
Update. 2001-09-20 H.J. Lu <hjl@gnu.org> * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF. 2001-09-20 H.J. Lu <hjl@gnu.org> * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. 2001-09-19 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix <trix@redhat.com> * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file.
2001-09-23 10:10:30 +08:00
const char *soname;
size_t soname_len;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
Update. 2001-09-20 H.J. Lu <hjl@gnu.org> * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF. 2001-09-20 H.J. Lu <hjl@gnu.org> * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. 2001-09-19 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix <trix@redhat.com> * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file.
2001-09-23 10:10:30 +08:00
soname = shobj_handle->soname ?: basename (shobj);
soname_len = strlen (soname);
newp = (char *) alloca (soname_len + sizeof ".profile");
stpcpy (mempcpy (newp, soname, soname_len), ".profile");
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
profdata = newp;
}
/* Now see whether the profiling data file matches the given object. */
profdata_handle = load_profdata (profdata, shobj_handle);
if (profdata_handle == NULL)
{
unload_shobj (shobj_handle);
exit (1);
}
read_symbols (shobj_handle);
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
/* Count the ticks. */
count_total_ticks (shobj_handle, profdata_handle);
/* Count the calls. */
count_calls (shobj_handle, profdata_handle);
/* Add the arc information. */
add_arcs (profdata_handle);
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
/* If no mode is specified fall back to the default mode. */
if (mode == NONE)
mode = DEFAULT_MODE;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Do some work. */
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
if (mode & FLAT_MODE)
generate_flat_profile (profdata_handle);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (mode & CALL_GRAPH_MODE)
generate_call_graph (profdata_handle);
if (mode & CALL_PAIRS)
generate_call_pair_list (profdata_handle);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Free the resources. */
unload_shobj (shobj_handle);
unload_profdata (profdata_handle);
return 0;
}
/* Handle program arguments. */
static error_t
parse_opt (int key, char *arg, struct argp_state *state)
{
switch (key)
{
case 'c':
mode |= CALL_PAIRS;
break;
case 'p':
mode |= FLAT_MODE;
break;
case 'q':
mode |= CALL_GRAPH_MODE;
break;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
case OPT_TEST:
do_test = 1;
break;
default:
return ARGP_ERR_UNKNOWN;
}
return 0;
}
/* Print the version information. */
static void
print_version (FILE *stream, struct argp_state *state)
{
fprintf (stream, "sprof (GNU %s) %s\n", PACKAGE, VERSION);
fprintf (stream, gettext ("\
Copyright (C) %s Free Software Foundation, Inc.\n\
This is free software; see the source for copying conditions. There is NO\n\
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n\
"),
2006-01-02 03:15:56 +08:00
"2006");
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
fprintf (stream, gettext ("Written by %s.\n"), "Ulrich Drepper");
}
/* Note that we must not use `dlopen' etc. The shobj object must not
be loaded for use. */
static struct shobj *
load_shobj (const char *name)
{
struct link_map *map = NULL;
struct shobj *result;
ElfW(Addr) mapstart = ~((ElfW(Addr)) 0);
ElfW(Addr) mapend = 0;
const ElfW(Phdr) *ph;
size_t textsize;
unsigned int log_hashfraction;
ElfW(Ehdr) *ehdr;
int fd;
ElfW(Shdr) *shdr;
size_t pagesize = getpagesize ();
/* Since we use dlopen() we must be prepared to work around the sometimes
strange lookup rules for the shared objects. If we have a file foo.so
in the current directory and the user specfies foo.so on the command
line (without specifying a directory) we should load the file in the
current directory even if a normal dlopen() call would read the other
file. We do this by adding a directory portion to the name. */
if (strchr (name, '/') == NULL)
{
char *load_name = (char *) alloca (strlen (name) + 3);
stpcpy (stpcpy (load_name, "./"), name);
Update. 2001-09-20 H.J. Lu <hjl@gnu.org> * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF. 2001-09-20 H.J. Lu <hjl@gnu.org> * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. 2001-09-19 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix <trix@redhat.com> * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file.
2001-09-23 10:10:30 +08:00
map = (struct link_map *) dlopen (load_name, RTLD_LAZY | __RTLD_SPROF);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
if (map == NULL)
{
Update. 2001-09-20 H.J. Lu <hjl@gnu.org> * include/dlfcn.h (__RTLD_SPROF): New definiton. * elf/dl-open.c (dl_open_worker): Return immediately after loading for __RTLD_SPROF. * elf/sprof.c (main): Default to the filename if soname doesn't exist. (load_shobj): Call dlopen with `RTLD_LAZY | __RTLD_SPROF. 2001-09-20 H.J. Lu <hjl@gnu.org> * elf/dl-profile.c (_dl_mcount): Use old *narcsp value for newarc, don't add 1. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * nss/getent.c: Accept -s parameter to overwrite rules in nsswitch.conf. Patch by Nalin Dahyabhai <nalin@redhat.com>. * nss/nss_files/files-network.c (LINE_PARSER): Pad addr string with as many ".0" as necessary to form a complete address inet_network understands. * nss/getent.c: Various cleanups. Use simpler and fewer function calls. 2001-09-20 Martin Schwidefsky <schwidefsky@de.ibm.com> * sysdeps/s390/s390-32/bits/setjmp.h: Correct pointer comparison in _JMPBUF_UNWINDS. * sysdeps/s390/s390-64/bits/setjmp.h: Likewise. 2001-09-22 Ulrich Drepper <drepper@redhat.com> * iconvdata/Makefile: Add rules to build and distribute IBM1160 and IBM1161. * iconvdata/gconv-modules: Add entries for IBM1160 and IBM1161. * iconvdata/ibm1160.c: New file. * iconvdata/ibm1160.h: New file. * iconvdata/ibm1161.c: New file. * iconvdata/ibm1161.h: New file. 2001-09-19 Jakub Jelinek <jakub@redhat.com> * sysdeps/alpha/dl-machine.h (elf_machine_load_address): Compute the difference between base address and first PT_LOAD's virtual address, not the base address. 2001-09-11 Tom Rix <trix@redhat.com> * sysdeps/unix/sysv/aix/init-first.c (init): Use USE_NONONPTION_FLAG ifdef for __getopt_clean_environment. * sysdeps/unix/sysv/aix/libc-start.c: Add real implementation. * sysdeps/unix/sysv/linux/x86_64/Dist: New file. * sysdeps/x86_64/Dist: New file. * sysdeps/x86_64/soft-fp/Dist: New file.
2001-09-23 10:10:30 +08:00
map = (struct link_map *) dlopen (name, RTLD_LAZY | __RTLD_SPROF);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (map == NULL)
{
error (0, errno, _("failed to load shared object `%s'"), name);
return NULL;
}
}
/* Prepare the result. */
result = (struct shobj *) calloc (1, sizeof (struct shobj));
if (result == NULL)
{
error (0, errno, _("cannot create internal descriptors"));
dlclose (map);
return NULL;
}
result->name = name;
result->map = map;
/* Compute the size of the sections which contain program code.
This must match the code in dl-profile.c (_dl_start_profile). */
for (ph = map->l_phdr; ph < &map->l_phdr[map->l_phnum]; ++ph)
if (ph->p_type == PT_LOAD && (ph->p_flags & PF_X))
{
1998-03-09 17:11:57 +08:00
ElfW(Addr) start = (ph->p_vaddr & ~(pagesize - 1));
ElfW(Addr) end = ((ph->p_vaddr + ph->p_memsz + pagesize - 1)
& ~(pagesize - 1));
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (start < mapstart)
mapstart = start;
if (end > mapend)
mapend = end;
}
result->lowpc = ROUNDDOWN ((uintptr_t) (mapstart + map->l_addr),
HISTFRACTION * sizeof (HISTCOUNTER));
result->highpc = ROUNDUP ((uintptr_t) (mapend + map->l_addr),
HISTFRACTION * sizeof (HISTCOUNTER));
if (do_test)
printf ("load addr: %0#*" PRIxPTR "\n"
"lower bound PC: %0#*" PRIxPTR "\n"
"upper bound PC: %0#*" PRIxPTR "\n",
__ELF_NATIVE_CLASS == 32 ? 10 : 18, map->l_addr,
__ELF_NATIVE_CLASS == 32 ? 10 : 18, result->lowpc,
__ELF_NATIVE_CLASS == 32 ? 10 : 18, result->highpc);
textsize = result->highpc - result->lowpc;
result->kcountsize = textsize / HISTFRACTION;
result->hashfraction = HASHFRACTION;
if ((HASHFRACTION & (HASHFRACTION - 1)) == 0)
/* If HASHFRACTION is a power of two, mcount can use shifting
instead of integer division. Precompute shift amount. */
log_hashfraction = __builtin_ffs (result->hashfraction
* sizeof (struct here_fromstruct)) - 1;
else
log_hashfraction = -1;
if (do_test)
Update. 1998-07-04 10:14 Ulrich Drepper <drepper@cygnus.com> * libio/Makefile (routines): Add iofread_u and iofwrite_u. * libio/Versions: Add fread_unlocked and fwrite_unlocked. * Makerules (lib%.so): Adjust ignore pattern for last makefile change. * time/tzfile.c (decode): Optimize by using bswap_32. (__tzfile_read): Use _unlocked stream functions. Correct setting of __tzname array values. (__tzfile_compute): Correct setting of __tzname array values. * time/tzset.c (__tzstring): Clean up a bit. 1998-06-29 19:01 Jim Wilson <wilson@cygnus.com> * posix/regex.c (re_comp): Add cast to char * before gettext calls. 1998-06-30 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/bsd/poll.c (__poll): Allocate fd_set dynamically so that fd can be bigger than FD_SETSIZE. 1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de> * nscd/grpcache.c: Include <unistd.h>. * nscd/pwdcache.c: Likewise. * nis/nis_modify.c: Include <string.h>. * nis/nis_add.c: Likewise. * nis/nis_checkpoint.c: Likewise. * posix/runptests.c: Likewise. * sysdeps/generic/statvfs64.c: Likewise. * sysdeps/generic/fstatvfs64.c: Likewise. 1998-07-03 13:16 Ulrich Drepper <drepper@cygnus.com> * localedata/charmaps/ISO-8859-9: Change mapping for 0xea, 0xec, 0xef to match data from Unicode. Reported by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1998-07-03 11:45 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf.h: Define printf_function and printf_arginfo_function types using __PMT not __P. Reported by Marc Lehmann. 1998-07-02 14:07 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * assert/test-assert.c: New test. * assert/test-assert-perr.c: New test. * assert/Makefile (tests): Add test-assert and test-assert-perr. 1998-07-02 13:45 Zack Weinberg <zack@rabi.phys.columbia.edu> BSD-style SCM_CREDS support. * sysdeps/unix/sysv/linux/socket.h: Define struct cmsgcred and SCM_CREDS. * sysdeps/unix/sysv/linux/sendmsg.c: New file. Convert user visible SCM_CREDS packet to what the kernel wants. * sysdeps/unix/sysv/linux/recvmsg.c: New file. Convert SCM_CREDS packet output by kernel to what users want. * sysdeps/unix/sysv/linux/sendmsg.S: Moved to... * sysdeps/unix/sysv/linux/__sendmsg.S: here. * sysdeps/unix/sysv/linux/recvmsg.S: Moved to... * sysdeps/unix/sysv/linux/__recvmsg.S: here. * sysdeps/unix/sysv/linux/Makefile [subdir=socket]: Add __sendmsg and __recvmsg to sysdep_routines. * sysdeps/unix/sysv/linux/Dist: Add __sendmsg.S and __recvmsg.S. 1998-07-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nscd/grpcache.c: Fix gid pointer handling and debug messages. * nscd/pwdcache.c: Fix uid pointer handling and debug messages. * nscd/nscd.c: Check, if pthread_create fails. 1998-07-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * stdio-common/test_rdwr.c (main): Use %Zu for size_t in printf format strings. * stdio-common/bug1.c (main): Likewise. * stdio-common/bug5.c (main): Likewise. * stdio-common/tstgetln.c (main): Likewise. * elf/sprof.c (generate_call_graph): Likewise. (load_shobj): Likewise. * posix/runptests.c (main): Likewise. * string/tst-strlen.c (main): Likewise. * sysdeps/libm-ieee754/e_acos.c (__ieee754_acos): Remove unused variable q3. * sysdeps/libm-ieee754/e_asin.c (__ieee754_asin): Likewise 1998-07-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> * wctype/Versions: Add __towctrans. Noticed by Alex Buell <alex.buell@tahallah.demon.co.uk>. 1998-07-02 Mark Kettenis <kettenis@phys.uva.nl> * grp/initgroups.c (compat_call): Only call dynamically loaded functions if they are really present. 1998-07-02 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/unix/sysv/linux/bits/sched.h: Move __END_DECLS within #ifdef that contains __BEGIN_DECLS. 1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/iofwrite.c: Fix return value when size == 0. 1998-07-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/Makefile (distribute): Add annexc.c. (generated): Add $(objpfx)annexc and $(objpfx)annexc.out. 1998-07-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/pthreadtypes.h here, and do not clobber headers. * sysdeps/unix/sysv/linux/Dist: Add bits/pthreadtypes.h. 1998-07-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> * timezone/tst-timezone.c: Add tests for tzname variable. 1998-07-03 12:17 Zack Weinberg <zack@rabi.phys.columbia.edu> * Makefile [versioning=yes]: Build the mapfiles with a pattern rule that lists all of them as targets. (sysd-versions): Depend only on Versions.def. Write a Makefile fragment that defines $(vers-libs) based on contents of that file; then include it. (lib-noranlib): Depend on lib-mapfiles not sysd-versions. (lib-mapfiles): New target, depends on sysd-versions and $(vers-libs). Predicate all this on avoid-generated unset as well as versioning. 1998-07-03 14:35 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1998-07-04 18:39:13 +08:00
printf ("hashfraction = %d\ndivider = %Zu\n",
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
result->hashfraction,
result->hashfraction * sizeof (struct here_fromstruct));
result->tossize = textsize / HASHFRACTION;
result->fromlimit = textsize * ARCDENSITY / 100;
if (result->fromlimit < MINARCS)
result->fromlimit = MINARCS;
if (result->fromlimit > MAXARCS)
result->fromlimit = MAXARCS;
result->fromssize = result->fromlimit * sizeof (struct here_fromstruct);
result->expected_size = (sizeof (struct gmon_hdr)
+ 4 + sizeof (struct gmon_hist_hdr)
+ result->kcountsize
+ 4 + 4
+ (result->fromssize
* sizeof (struct here_cg_arc_record)));
if (do_test)
printf ("expected size: %Zd\n", result->expected_size);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
#define SCALE_1_TO_1 0x10000L
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (result->kcountsize < result->highpc - result->lowpc)
{
size_t range = result->highpc - result->lowpc;
size_t quot = range / result->kcountsize;
if (quot >= SCALE_1_TO_1)
result->s_scale = 1;
else if (quot >= SCALE_1_TO_1 / 256)
result->s_scale = SCALE_1_TO_1 / quot;
else if (range > ULONG_MAX / 256)
result->s_scale = ((SCALE_1_TO_1 * 256)
/ (range / (result->kcountsize / 256)));
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
else
result->s_scale = ((SCALE_1_TO_1 * 256)
/ ((range * 256) / result->kcountsize));
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
else
result->s_scale = SCALE_1_TO_1;
if (do_test)
printf ("s_scale: %d\n", result->s_scale);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
1998-03-09 17:11:57 +08:00
/* Determine the dynamic string table. */
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (map->l_info[DT_STRTAB] == NULL)
1998-03-09 17:11:57 +08:00
result->dynstrtab = NULL;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
else
result->dynstrtab = (const char *) D_PTR (map, l_info[DT_STRTAB]);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (do_test)
1998-03-09 17:11:57 +08:00
printf ("string table: %p\n", result->dynstrtab);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Determine the soname. */
if (map->l_info[DT_SONAME] == NULL)
result->soname = NULL;
else
1998-03-09 17:11:57 +08:00
result->soname = result->dynstrtab + map->l_info[DT_SONAME]->d_un.d_val;
if (do_test && result->soname != NULL)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
printf ("soname: %s\n", result->soname);
1998-03-09 17:11:57 +08:00
/* Now we have to load the symbol table.
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
First load the section header table. */
ehdr = (ElfW(Ehdr) *) map->l_map_start;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Make sure we are on the right party. */
if (ehdr->e_shentsize != sizeof (ElfW(Shdr)))
abort ();
/* And we need the shared object file descriptor again. */
fd = open (map->l_name, O_RDONLY);
if (fd == -1)
/* Dooh, this really shouldn't happen. We know the file is available. */
Update. 1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include <asm/io.h>; remove K&R compatibility; add missing ints. * sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility, add missing ints. * sysdeps/unix/sysv/linux/sys/io.h: Don't include <asm/io.h>. 1999-12-29 Andreas Jaeger <aj@suse.de> * manual/getopt.texi (Using Getopt): Document ordering of options. 1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek. Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1999-12-14 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux 2.3.32. 1999-12-28 Jakub Jelinek <jakub@redhat.com> * elf/sprof.c (load_shobj): Fix error message. (generate_call_graph): Cast %*s length argument to int. * locale/programs/localedef.c (construct_output_path): Likewise. * locale/programs/ld-ctype.c (ctype_finish): Use proper format specifier. (ctype_class_new): Likewise. * locale/programs/ld-time.c (time_finish): Likewise. * sunrpc/svc_simple.c (register_rpc): Likewise. * nscd/connections.c (nscd_run, start_threads): Use long instead of int to avoid cast warnings. * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill warning. * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused variable se. * time/strftime.c (my_strftime): Provide wide era string when requested. * sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl): Separate into 32bit and 64bit versions.
1999-12-30 01:52:49 +08:00
error (EXIT_FAILURE, errno, _("Reopening shared object `%s' failed"),
map->l_name);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Map the section header. */
size_t size = ehdr->e_shnum * sizeof (ElfW(Shdr));
shdr = (ElfW(Shdr) *) alloca (size);
if (pread (fd, shdr, size, ehdr->e_shoff) != size)
error (EXIT_FAILURE, errno, _("reading of section headers failed"));
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* Get the section header string table. */
char *shstrtab = (char *) alloca (shdr[ehdr->e_shstrndx].sh_size);
if (pread (fd, shstrtab, shdr[ehdr->e_shstrndx].sh_size,
shdr[ehdr->e_shstrndx].sh_offset)
!= shdr[ehdr->e_shstrndx].sh_size)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
error (EXIT_FAILURE, errno,
_("reading of section header string table failed"));
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
1998-03-09 17:11:57 +08:00
/* Search for the ".symtab" section. */
ElfW(Shdr) *symtab_entry = NULL;
ElfW(Shdr) *debuglink_entry = NULL;
for (int idx = 0; idx < ehdr->e_shnum; ++idx)
1998-03-09 17:11:57 +08:00
if (shdr[idx].sh_type == SHT_SYMTAB
&& strcmp (shstrtab + shdr[idx].sh_name, ".symtab") == 0)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
1998-03-09 17:11:57 +08:00
symtab_entry = &shdr[idx];
break;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
else if (shdr[idx].sh_type == SHT_PROGBITS
&& strcmp (shstrtab + shdr[idx].sh_name, ".gnu_debuglink") == 0)
debuglink_entry = &shdr[idx];
/* Get the file name of the debuginfo file if necessary. */
int symfd = fd;
if (symtab_entry == NULL && debuglink_entry != NULL)
{
size_t size = debuglink_entry->sh_size;
char *debuginfo_fname = (char *) alloca (size + 1);
debuginfo_fname[size] = '\0';
if (pread (fd, debuginfo_fname, size, debuglink_entry->sh_offset)
!= size)
{
fprintf (stderr, _("*** Cannot read debuginfo file name: %m\n"));
goto no_debuginfo;
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
static const char procpath[] = "/proc/self/fd/%d";
char origprocname[sizeof (procpath) + sizeof (int) * 3];
snprintf (origprocname, sizeof (origprocname), procpath, fd);
char *origlink = (char *) alloca (PATH_MAX + 1);
origlink[PATH_MAX] = '\0';
if (readlink (origprocname, origlink, PATH_MAX) == -1)
goto no_debuginfo;
/* Try to find the actual file. There are three places:
1. the same directory the DSO is in
2. in a subdir named .debug of the directory the DSO is in
3. in /usr/lib/debug/PATH-OF-DSO
*/
char *realname = canonicalize_file_name (origlink);
char *cp = NULL;
if (realname == NULL || (cp = strrchr (realname, '/')) == NULL)
error (EXIT_FAILURE, errno, _("cannot determine file name"));
/* Leave the last slash in place. */
*++cp = '\0';
/* First add the debuginfo file name only. */
static const char usrlibdebug[]= "/usr/lib/debug/";
char *workbuf = (char *) alloca (sizeof (usrlibdebug)
+ (cp - realname)
+ strlen (debuginfo_fname));
strcpy (stpcpy (workbuf, realname), debuginfo_fname);
int fd2 = open (workbuf, O_RDONLY);
if (fd2 == -1)
{
strcpy (stpcpy (stpcpy (workbuf, realname), ".debug/"),
debuginfo_fname);
fd2 = open (workbuf, O_RDONLY);
if (fd2 == -1)
{
strcpy (stpcpy (stpcpy (workbuf, usrlibdebug), realname),
debuginfo_fname);
fd2 = open (workbuf, O_RDONLY);
}
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
if (fd2 != -1)
{
ElfW(Ehdr) ehdr2;
/* Read the ELF header. */
if (pread (fd2, &ehdr2, sizeof (ehdr2), 0) != sizeof (ehdr2))
error (EXIT_FAILURE, errno,
_("reading of ELF header failed"));
/* Map the section header. */
size_t size = ehdr2.e_shnum * sizeof (ElfW(Shdr));
ElfW(Shdr) *shdr2 = (ElfW(Shdr) *) alloca (size);
if (pread (fd2, shdr2, size, ehdr2.e_shoff) != size)
error (EXIT_FAILURE, errno,
_("reading of section headers failed"));
/* Get the section header string table. */
shstrtab = (char *) alloca (shdr2[ehdr2.e_shstrndx].sh_size);
if (pread (fd2, shstrtab, shdr2[ehdr2.e_shstrndx].sh_size,
shdr2[ehdr2.e_shstrndx].sh_offset)
!= shdr2[ehdr2.e_shstrndx].sh_size)
error (EXIT_FAILURE, errno,
_("reading of section header string table failed"));
/* Search for the ".symtab" section. */
for (int idx = 0; idx < ehdr2.e_shnum; ++idx)
if (shdr2[idx].sh_type == SHT_SYMTAB
&& strcmp (shstrtab + shdr2[idx].sh_name, ".symtab") == 0)
{
symtab_entry = &shdr2[idx];
shdr = shdr2;
symfd = fd2;
break;
}
if (fd2 != symfd)
close (fd2);
}
}
no_debuginfo:
1998-03-09 17:11:57 +08:00
if (symtab_entry == NULL)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
fprintf (stderr, _("\
*** The file `%s' is stripped: no detailed analysis possible\n"),
name);
1998-03-09 17:11:57 +08:00
result->symtab = NULL;
result->strtab = NULL;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
else
{
1998-03-09 17:11:57 +08:00
ElfW(Off) min_offset, max_offset;
ElfW(Shdr) *strtab_entry;
strtab_entry = &shdr[symtab_entry->sh_link];
/* Find the minimum and maximum offsets that include both the symbol
table and the string table. */
if (symtab_entry->sh_offset < strtab_entry->sh_offset)
{
min_offset = symtab_entry->sh_offset & ~(pagesize - 1);
max_offset = strtab_entry->sh_offset + strtab_entry->sh_size;
}
else
{
min_offset = strtab_entry->sh_offset & ~(pagesize - 1);
max_offset = symtab_entry->sh_offset + symtab_entry->sh_size;
}
result->symbol_map = mmap (NULL, max_offset - min_offset,
PROT_READ, MAP_SHARED|MAP_FILE, symfd,
1998-03-09 17:11:57 +08:00
min_offset);
if (result->symbol_map == MAP_FAILED)
1998-03-09 17:11:57 +08:00
error (EXIT_FAILURE, errno, _("failed to load symbol data"));
result->symtab
= (const ElfW(Sym) *) ((const char *) result->symbol_map
+ (symtab_entry->sh_offset - min_offset));
result->symtab_size = symtab_entry->sh_size;
result->strtab = ((const char *) result->symbol_map
+ (strtab_entry->sh_offset - min_offset));
result->symbol_mapsize = max_offset - min_offset;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
/* Free the descriptor for the shared object. */
close (fd);
if (symfd != fd)
close (symfd);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
return result;
}
static void
unload_shobj (struct shobj *shobj)
{
1998-03-09 17:11:57 +08:00
munmap (shobj->symbol_map, shobj->symbol_mapsize);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
dlclose (shobj->map);
}
static struct profdata *
load_profdata (const char *name, struct shobj *shobj)
{
struct profdata *result;
int fd;
struct stat st;
void *addr;
struct gmon_hdr gmon_hdr;
struct gmon_hist_hdr hist_hdr;
uint32_t *narcsp;
size_t fromlimit;
struct here_cg_arc_record *data;
struct here_fromstruct *froms;
uint16_t *tos;
size_t fromidx;
size_t idx;
fd = open (name, O_RDONLY);
if (fd == -1)
{
char *ext_name;
if (errno != ENOENT || strchr (name, '/') != NULL)
/* The file exists but we are not allowed to read it or the
file does not exist and the name includes a path
specification.. */
return NULL;
/* A file with the given name does not exist in the current
directory, try it in the default location where the profiling
files are created. */
ext_name = (char *) alloca (strlen (name) + sizeof "/var/tmp/");
stpcpy (stpcpy (ext_name, "/var/tmp/"), name);
name = ext_name;
fd = open (ext_name, O_RDONLY);
if (fd == -1)
{
/* Even this file does not exist. */
error (0, errno, _("cannot load profiling data"));
return NULL;
}
}
/* We have found the file, now make sure it is the right one for the
data file. */
if (fstat (fd, &st) < 0)
{
error (0, errno, _("while stat'ing profiling data file"));
close (fd);
return NULL;
}
Update. 2002-08-24 Ulrich Drepper <drepper@redhat.com> * locale/programs/charmap.c (charmap_new_char): Don't use ULONG_MAX as maximum UCS4 value. * sysdeps/unix/sysv/linux/ia64/sys/user.h: New file. * sysdeps/generic/strtol.c: We don't need the isascii test in glibc. * malloc/hooks.c (public_sET_STATe): use size_t as type for i. * malloc/malloc.c (mALLINFo): Likewise. * libio/wstrops.c (_IO_wstr_pbackfail): Use WEOF in comparison. * libio/wfileops.c (_IO_wfile_overflow): Use EOF not WEOF when examining result of _IO_do_flush call. * stdio-common/vfprintf.c (vfprintf): Use correct type in va_arg. Use prec not spec when sizing buffers. * catgets/open_catalog.c (__open_catalog): Add casts to avoid warnings. * locale/loadarchive.c (_nl_load_locale_from_archive): Likewise. * locale/loadlocale.c (_nl_intern_locale_data): Likewise. * stdio-common/vfscanf.c (inchar): Likewise. * misc/efgcvt_r.c (fcvt_r): Likewise. * elf/dl-misc.c (_dl_debug_vdprintf): Likewise. * elf/readlib.c (process_file): Likewise. * elf/sprof.c (load_profdata): Likewise. * sysdeps/ia64/hp-timing.h (HP_TIMING_PRINT): Likewise. * locale/programs/linereader.c (get_toplvl_escape): Likewise. * locale/programs/charmap.c (charmap_read): Likewise. * libio/fileops.c: Likewise. * libio/fmemopen.c: Likewise. * stdlib/strtod.c: Likewise. * elf/dl-load.c: Likewise. * iconv/iconvconfig.c: Likewise. * iconv/iconv_prog.c (process_block): Likewise. * sysdeps/unix/sysv/linux/ia64/Makefile: Define _ASM_IA64_CURRENT_H macro to calm down the compiler. * iconv/gconv_cache.c (__gconv_load_cache): Add cast to avoid warning. * sysdeps/ia64/elf/initfini.c: Don't use newlines embedded in string. * sysdeps/unix/sysv/linux/i386/sysdep.S: Update comment regarding placement of errno definition. * sysdeps/unix/sysv/linux/m68k/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/mips/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/x86_64/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-32/sysdep.S: Likewise. * sysdeps/unix/sysv/linux/s390/s390-64/sysdep.S: Likewise. * resolv/nss_dns/dns-host.c (MAXPACKET): Increase minimum value from 1024 to 65536, to avoid buffer overrun. 2002-08-16 Paul Eggert <eggert@twinsun.com> * resolv/gethnamaddr.c (MAXPACKET): Increase minimum value from 1024 to 65536, to avoid buffer overrun. * resolv/res_query.c (MAXPACKET): Likewise. architectures.
2002-08-25 12:51:08 +08:00
if ((size_t) st.st_size != shobj->expected_size)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
error (0, 0,
_("profiling data file `%s' does not match shared object `%s'"),
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
name, shobj->name);
close (fd);
return NULL;
}
/* The data file is most probably the right one for our shared
object. Map it now. */
addr = mmap (NULL, st.st_size, PROT_READ, MAP_SHARED|MAP_FILE, fd, 0);
if (addr == MAP_FAILED)
{
error (0, errno, _("failed to mmap the profiling data file"));
close (fd);
return NULL;
}
/* We don't need the file desriptor anymore. */
if (close (fd) < 0)
{
error (0, errno, _("error while closing the profiling data file"));
munmap (addr, st.st_size);
return NULL;
}
/* Prepare the result. */
result = (struct profdata *) calloc (1, sizeof (struct profdata));
if (result == NULL)
{
error (0, errno, _("cannot create internal descriptor"));
munmap (addr, st.st_size);
return NULL;
}
/* Store the address and size so that we can later free the resources. */
result->addr = addr;
result->size = st.st_size;
/* Pointer to data after the header. */
result->hist = (char *) ((struct gmon_hdr *) addr + 1);
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
result->hist_hdr = (struct gmon_hist_hdr *) ((char *) result->hist
+ sizeof (uint32_t));
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
result->kcount = (uint16_t *) ((char *) result->hist + sizeof (uint32_t)
+ sizeof (struct gmon_hist_hdr));
/* Compute pointer to array of the arc information. */
narcsp = (uint32_t *) ((char *) result->kcount + shobj->kcountsize
+ sizeof (uint32_t));
result->narcs = *narcsp;
result->data = (struct here_cg_arc_record *) ((char *) narcsp
+ sizeof (uint32_t));
/* Create the gmon_hdr we expect or write. */
memset (&gmon_hdr, '\0', sizeof (struct gmon_hdr));
memcpy (&gmon_hdr.cookie[0], GMON_MAGIC, sizeof (gmon_hdr.cookie));
*(int32_t *) gmon_hdr.version = GMON_SHOBJ_VERSION;
/* Create the hist_hdr we expect or write. */
*(char **) hist_hdr.low_pc = (char *) shobj->lowpc - shobj->map->l_addr;
*(char **) hist_hdr.high_pc = (char *) shobj->highpc - shobj->map->l_addr;
if (do_test)
printf ("low_pc = %p\nhigh_pc = %p\n",
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
*(char **) hist_hdr.low_pc, *(char **) hist_hdr.high_pc);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
*(int32_t *) hist_hdr.hist_size = shobj->kcountsize / sizeof (HISTCOUNTER);
*(int32_t *) hist_hdr.prof_rate = __profile_frequency ();
strncpy (hist_hdr.dimen, "seconds", sizeof (hist_hdr.dimen));
hist_hdr.dimen_abbrev = 's';
/* Test whether the header of the profiling data is ok. */
if (memcmp (addr, &gmon_hdr, sizeof (struct gmon_hdr)) != 0
|| *(uint32_t *) result->hist != GMON_TAG_TIME_HIST
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
|| memcmp (result->hist_hdr, &hist_hdr,
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
sizeof (struct gmon_hist_hdr)) != 0
|| narcsp[-1] != GMON_TAG_CG_ARC)
{
error (0, 0, _("`%s' is no correct profile data file for `%s'"),
name, shobj->name);
if (do_test)
{
if (memcmp (addr, &gmon_hdr, sizeof (struct gmon_hdr)) != 0)
puts ("gmon_hdr differs");
if (*(uint32_t *) result->hist != GMON_TAG_TIME_HIST)
puts ("result->hist differs");
if (memcmp (result->hist_hdr, &hist_hdr,
sizeof (struct gmon_hist_hdr)) != 0)
puts ("hist_hdr differs");
if (narcsp[-1] != GMON_TAG_CG_ARC)
puts ("narcsp[-1] differs");
}
free (result);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
munmap (addr, st.st_size);
return NULL;
}
/* We are pretty sure now that this is a correct input file. Set up
the remaining information in the result structure and return. */
result->tos = (uint16_t *) calloc (shobj->tossize + shobj->fromssize, 1);
if (result->tos == NULL)
{
error (0, errno, _("cannot create internal descriptor"));
munmap (addr, st.st_size);
free (result);
return NULL;
}
result->froms = (struct here_fromstruct *) ((char *) result->tos
+ shobj->tossize);
fromidx = 0;
/* Now we have to process all the arc count entries. */
fromlimit = shobj->fromlimit;
data = result->data;
froms = result->froms;
tos = result->tos;
for (idx = 0; idx < MIN (*narcsp, fromlimit); ++idx)
{
size_t to_index;
size_t newfromidx;
to_index = (data[idx].self_pc / (shobj->hashfraction * sizeof (*tos)));
newfromidx = fromidx++;
froms[newfromidx].here = &data[idx];
froms[newfromidx].link = tos[to_index];
tos[to_index] = newfromidx;
}
return result;
}
static void
unload_profdata (struct profdata *profdata)
{
free (profdata->tos);
munmap (profdata->addr, profdata->size);
free (profdata);
}
static void
count_total_ticks (struct shobj *shobj, struct profdata *profdata)
{
volatile uint16_t *kcount = profdata->kcount;
size_t maxkidx = shobj->kcountsize;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
size_t factor = 2 * (65536 / shobj->s_scale);
size_t kidx = 0;
size_t sidx = 0;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
while (sidx < symidx)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
uintptr_t start = sortsym[sidx]->addr;
uintptr_t end = start + sortsym[sidx]->size;
while (kidx < maxkidx && factor * kidx < start)
++kidx;
if (kidx == maxkidx)
break;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
while (kidx < maxkidx && factor * kidx < end)
sortsym[sidx]->ticks += kcount[kidx++];
if (kidx == maxkidx)
break;
total_ticks += sortsym[sidx++]->ticks;
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
static size_t
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
find_symbol (uintptr_t addr)
{
size_t sidx = 0;
while (sidx < symidx)
{
uintptr_t start = sortsym[sidx]->addr;
uintptr_t end = start + sortsym[sidx]->size;
if (addr >= start && addr < end)
return sidx;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
if (addr < start)
break;
++sidx;
}
return (size_t) -1l;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
}
static void
count_calls (struct shobj *shobj, struct profdata *profdata)
{
struct here_cg_arc_record *data = profdata->data;
uint32_t narcs = profdata->narcs;
uint32_t cnt;
for (cnt = 0; cnt < narcs; ++cnt)
{
uintptr_t here = data[cnt].self_pc;
size_t symbol_idx;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
/* Find the symbol for this address. */
symbol_idx = find_symbol (here);
if (symbol_idx != (size_t) -1l)
sortsym[symbol_idx]->calls += data[cnt].count;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
}
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
static int
symorder (const void *o1, const void *o2)
{
const struct known_symbol *p1 = (const struct known_symbol *) o1;
const struct known_symbol *p2 = (const struct known_symbol *) o2;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
return p1->addr - p2->addr;
}
static void
printsym (const void *node, VISIT value, int level)
{
if (value == leaf || value == postorder)
1998-03-09 17:11:57 +08:00
sortsym[symidx++] = *(struct known_symbol **) node;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
static void
read_symbols (struct shobj *shobj)
{
int n = 0;
/* Initialize the obstacks. */
#define obstack_chunk_alloc malloc
#define obstack_chunk_free free
obstack_init (&shobj->ob_str);
obstack_init (&shobj->ob_sym);
obstack_init (&ob_list);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
1998-03-09 17:11:57 +08:00
/* Process the symbols. */
if (shobj->symtab != NULL)
1998-03-09 17:11:57 +08:00
{
const ElfW(Sym) *sym = shobj->symtab;
const ElfW(Sym) *sym_end
= (const ElfW(Sym) *) ((const char *) sym + shobj->symtab_size);
for (; sym < sym_end; sym++)
if ((ELFW(ST_TYPE) (sym->st_info) == STT_FUNC
|| ELFW(ST_TYPE) (sym->st_info) == STT_NOTYPE)
&& sym->st_size != 0)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
struct known_symbol **existp;
1998-03-09 17:11:57 +08:00
struct known_symbol *newsym
= (struct known_symbol *) obstack_alloc (&shobj->ob_sym,
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
sizeof (*newsym));
1998-03-09 17:11:57 +08:00
if (newsym == NULL)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
error (EXIT_FAILURE, errno, _("cannot allocate symbol data"));
1998-03-09 17:11:57 +08:00
newsym->name = &shobj->strtab[sym->st_name];
newsym->addr = sym->st_value;
newsym->size = sym->st_size;
newsym->weak = ELFW(ST_BIND) (sym->st_info) == STB_WEAK;
newsym->hidden = (ELFW(ST_VISIBILITY) (sym->st_other)
!= STV_DEFAULT);
newsym->ticks = 0;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
newsym->calls = 0;
existp = tfind (newsym, &symroot, symorder);
if (existp == NULL)
{
/* New function. */
tsearch (newsym, &symroot, symorder);
++n;
}
else
{
/* The function is already defined. See whether we have
a better name here. */
if (((*existp)->hidden && !newsym->hidden)
|| ((*existp)->name[0] == '_' && newsym->name[0] != '_')
|| ((*existp)->name[0] != '_' && newsym->name[0] != '_'
&& ((*existp)->weak && !newsym->weak)))
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
*existp = newsym;
else
/* We don't need the allocated memory. */
obstack_free (&shobj->ob_sym, newsym);
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
1998-03-09 17:11:57 +08:00
}
else
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
/* Blarg, the binary is stripped. We have to rely on the
information contained in the dynamic section of the object. */
const ElfW(Sym) *symtab = (ElfW(Sym) *) D_PTR (shobj->map,
l_info[DT_SYMTAB]);
const char *strtab = (const char *) D_PTR (shobj->map,
l_info[DT_STRTAB]);
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
/* We assume that the string table follows the symbol table,
because there is no way in ELF to know the size of the
dynamic symbol table without looking at the section headers. */
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
while ((void *) symtab < (void *) strtab)
{
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
if ((ELFW(ST_TYPE)(symtab->st_info) == STT_FUNC
|| ELFW(ST_TYPE)(symtab->st_info) == STT_NOTYPE)
&& symtab->st_size != 0)
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
{
struct known_symbol *newsym;
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
struct known_symbol **existp;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
newsym =
(struct known_symbol *) obstack_alloc (&shobj->ob_sym,
sizeof (*newsym));
if (newsym == NULL)
error (EXIT_FAILURE, errno, _("cannot allocate symbol data"));
newsym->name = &strtab[symtab->st_name];
newsym->addr = symtab->st_value;
newsym->size = symtab->st_size;
newsym->weak = ELFW(ST_BIND) (symtab->st_info) == STB_WEAK;
newsym->hidden = (ELFW(ST_VISIBILITY) (symtab->st_other)
!= STV_DEFAULT);
newsym->ticks = 0;
newsym->froms = NULL;
newsym->tos = NULL;
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
existp = tfind (newsym, &symroot, symorder);
if (existp == NULL)
{
/* New function. */
tsearch (newsym, &symroot, symorder);
++n;
}
else
{
/* The function is already defined. See whether we have
a better name here. */
if (((*existp)->hidden && !newsym->hidden)
|| ((*existp)->name[0] == '_' && newsym->name[0] != '_')
|| ((*existp)->name[0] != '_' && newsym->name[0] != '_'
&& ((*existp)->weak && !newsym->weak)))
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
*existp = newsym;
else
/* We don't need the allocated memory. */
obstack_free (&shobj->ob_sym, newsym);
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
++symtab;
}
Update. 1998-03-02 17:55 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/add_n.S: Change to use ENTRY and END macro. * sysdeps/i386/addmul_1.S: Likewise. * sysdeps/i386/lshift.S: Likewise. * sysdeps/i386/mul_1.S: Likewise. * sysdeps/i386/rshift.S: Likewise. * sysdeps/i386/sub_n.S: Likewise. * sysdeps/i386/submul_1.S: Likewise. * sysdeps/i386/i586/add_n.S: Likewise. * sysdeps/i386/i586/addmul_1.S: Likewise. * sysdeps/i386/i586/lshift.S: Likewise. * sysdeps/i386/i586/mul_1.S: Likewise. * sysdeps/i386/i586/rshift.S: Likewise. * sysdeps/i386/i586/sub_n.S: Likewise. * sysdeps/i386/i586/submul_1.S: Likewise. * sysdeps/i386/sysdep.h: Extend last change. * sysdeps/unix/sysv/linux/i386/sysdep.h: Follow Intel's advice to have only one exit point for functions. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Fix msgfmt test. Fix handling of //s in sysdeps search. 1998-03-02 13:28 Ulrich Drepper <drepper@cygnus.com> * Makerules: Generate libc.so with absolute paths for the used shared objects. * config.make.in: Add MAKEINFO definition. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * sysdeps/i386/sysdep.h (ASM_SIZE_DIRECTIVE): Add ; at the end. (ENTRY): Use STABS_FUN. (END): Use STABS_FUN_END. (STABS_FUN, STABS_FUN2, STABS_FUN_END): New macro to emit stabs info. * elf/Makefile: Add rules to build sprof program. * elf/sprof.c: New file. 1998-02-28 Andreas Jaeger <aj@arthur.rhein-neckar.de> * misc/syslog.c (openlog_internal): Insert missing closing brace. 1998-02-06 Andreas Jaeger <aj@arthur.rhein-neckar.de> * configure.in: Check for working msgfmt version (from GNU gettext 0.10 or later). 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * configure.in: Avoid //s in sysdirs. Patch by Roland McGrath. * stdlib/a64l.c (a64l): Rewrite by Joe Keane <jgk@jgk.org>. 1998-03-02 07:17 H.J. Lu <hjl@gnu.org> * elf/dl-open.c (_dl_open): Update _dl_global_scope_end when setting _dl_global_scope for RTLD_GLOBAL. 1998-02-27 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/make-syscalls.sh: Fix last change so that all possible lists of object-suffixes are taken care of. 1998-03-02 10:16 Ulrich Drepper <drepper@cygnus.com> * timezone/private.h: Update from tzcode1998c. * timezone/zic.c: Likewise. * timezone/antarctica: Updated from tzdata1998c. * timezone/asia: Likewise. * timezone/australasia: Likewise. * timezone/europe: Likewise. * timezone/southamerica: Likewise. 1998-03-02 Ulrich Drepper <drepper@cygnus.com> * posix/glob.c (glob_in_dir): Add support for cases insensitive VMS. Patch by John W. Eaton <jwe@bevo.che.wisc.edu>.
1998-03-03 02:02:11 +08:00
}
sortsym = malloc (n * sizeof (struct known_symbol *));
if (sortsym == NULL)
abort ();
twalk (symroot, printsym);
}
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
static void
add_arcs (struct profdata *profdata)
{
uint32_t narcs = profdata->narcs;
struct here_cg_arc_record *data = profdata->data;
uint32_t cnt;
for (cnt = 0; cnt < narcs; ++cnt)
{
/* First add the incoming arc. */
size_t sym_idx = find_symbol (data[cnt].self_pc);
if (sym_idx != (size_t) -1l)
{
struct known_symbol *sym = sortsym[sym_idx];
struct arc_list *runp = sym->froms;
while (runp != NULL
&& ((data[cnt].from_pc == 0 && runp->idx != (size_t) -1l)
|| (data[cnt].from_pc != 0
&& (runp->idx == (size_t) -1l
|| data[cnt].from_pc < sortsym[runp->idx]->addr
|| (data[cnt].from_pc
>= (sortsym[runp->idx]->addr
+ sortsym[runp->idx]->size))))))
runp = runp->next;
if (runp == NULL)
{
/* We need a new entry. */
struct arc_list *newp = (struct arc_list *)
obstack_alloc (&ob_list, sizeof (struct arc_list));
if (data[cnt].from_pc == 0)
newp->idx = (size_t) -1l;
else
newp->idx = find_symbol (data[cnt].from_pc);
newp->count = data[cnt].count;
newp->next = sym->froms;
sym->froms = newp;
}
else
/* Increment the counter for the found entry. */
runp->count += data[cnt].count;
}
/* Now add it to the appropriate outgoing list. */
sym_idx = find_symbol (data[cnt].from_pc);
if (sym_idx != (size_t) -1l)
{
struct known_symbol *sym = sortsym[sym_idx];
struct arc_list *runp = sym->tos;
while (runp != NULL
&& (runp->idx == (size_t) -1l
|| data[cnt].self_pc < sortsym[runp->idx]->addr
|| data[cnt].self_pc >= (sortsym[runp->idx]->addr
+ sortsym[runp->idx]->size)))
runp = runp->next;
if (runp == NULL)
{
/* We need a new entry. */
struct arc_list *newp = (struct arc_list *)
obstack_alloc (&ob_list, sizeof (struct arc_list));
newp->idx = find_symbol (data[cnt].self_pc);
newp->count = data[cnt].count;
newp->next = sym->tos;
sym->tos = newp;
}
else
/* Increment the counter for the found entry. */
runp->count += data[cnt].count;
}
}
}
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
static int
countorder (const void *p1, const void *p2)
{
struct known_symbol *s1 = (struct known_symbol *) p1;
struct known_symbol *s2 = (struct known_symbol *) p2;
if (s1->ticks != s2->ticks)
return (int) (s2->ticks - s1->ticks);
if (s1->calls != s2->calls)
return (int) (s2->calls - s1->calls);
return strcmp (s1->name, s2->name);
}
static double tick_unit;
static uintmax_t cumu_ticks;
static void
printflat (const void *node, VISIT value, int level)
{
if (value == leaf || value == postorder)
{
struct known_symbol *s = *(struct known_symbol **) node;
cumu_ticks += s->ticks;
printf ("%6.2f%10.2f%9.2f%9" PRIdMAX "%9.2f %s\n",
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
total_ticks ? (100.0 * s->ticks) / total_ticks : 0.0,
tick_unit * cumu_ticks,
tick_unit * s->ticks,
s->calls,
s->calls ? (s->ticks * 1000000) * tick_unit / s->calls : 0,
/* FIXME: don't know about called functions. */
Update. 1998-06-07 13:32 Ulrich Drepper <drepper@cygnus.com> * libc.map: Add _dl_profile. * elf/dl-reloc.c (_dl_relocate_object): Take extra argument, pass this to ELF_DYNAMIC_RELOCATE. Always allocate array for relocation result if LD_PROFILE is defined. * elf/ldsodefs.h: Adjust prototypes. * elf/dl-open.c (_dl_open): Call relocation function with extra argument. * elf/rtld.c: Likewise. * elf/dl-profile.c (_dl_mcount): Don't mark as internal function. Correct loop condition. * elf/dynamic-link.h: Don't examine _dl_profile variable, pass consider_profile to runtime setup function. * sysdeps/i386/dl-machine.h (elf_machine_runtime_setup): Use _dl_runtime_profile for all shared objects if LD_PROFILE is defined. * elf/dl-support.c: Define __libc_stack_end. * elf/rtld.c: Likewise. * sysdeps/generic/libc-start.c: Store last stack address in __libc_stack_end. * sysdeps/i386/dl-machine.h (_dl_start_user): Store stack address. * sysdeps/i386/elf/start.s: Call __libc_start_main with extra argument. * elf/elf.h: Include <features.h>, not <sys/cdefs.h>. Include <stdint.h>, not <inttypes.h>. * elf/sprof.c: Implement flat profiling. * libio/fgetc.c: Call _IO_cleanup_region_end with 0 and call _IO_funlockfile explicitly. * libio/fileops.c: Likewise. * libio/fputc.c: Likewise. * libio/freopen.c: Likewise. * libio/freopen64.c: Likewise. * libio/fseek.c: Likewise. * libio/fseeko.c: Likewise. * libio/fseeko64.c: Likewise. * libio/ftello.c: Likewise. * libio/ftello64.c: Likewise. * libio/getc.c: Likewise. * libio/getchar.c: Likewise. * libio/iofclose.c: Likewise. * libio/iofflush.c: Likewise. * libio/iofgetpos.c: Likewise. * libio/iofgetpos64.c: Likewise. * libio/iofgets.c: Likewise. * libio/iofputs.c: Likewise. * libio/iofread.c: Likewise. * libio/iofsetpos.c: Likewise. * libio/iofsetpos64.c: Likewise. * libio/ioftell.c: Likewise. * libio/iofwrite.c: Likewise. * libio/iogetdelim.c: Likewise. * libio/iogets.c: Likewise. * libio/ioputs.c: Likewise. * libio/ioseekoff.c: Likewise. * libio/ioseekpos.c: Likewise. * libio/iosetbuffer.c: Likewise. * libio/iosetvbuf.c: Likewise. * libio/ioungetc.c: Likewise. * libio/iovsprintf.c: Likewise. * libio/iovsscanf.c: Likewise. * libio/oldfileops.c: Likewise. * libio/oldiofclose.c: Likewise. * libio/peekc.c: Likewise. * libio/putc.c: Likewise. * libio/putchar.c: Likewise. * libio/rewind.c: Likewise. * malloc/mtrace.c: Pretty print. * misc/mntent.h (struct mentent): Make string elements const char *. * nis/nis_printf.c: Optimize I/O a little bit. * signal/Makefile (distribute): Add sigset-cvt-mask.h. * sysdeps/generic/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/linux/sigset-cvt-mask.h: New file. * sysdeps/unix/sysv/sysv4/sigset-cvt-mask.h: New file. * sysdeps/posix/sigvec.c: Rewrite the use definitions from sigset-cvt-mask.h to do the dirty work. Patches by Joe Keane. * sysdeps/posix/mkstemp.c: Save one precious byte of rodata. * sysdeps/unix/sysv/linux/i386/sysdep.h: Rewrite PSEUDO etc to make syscall_error label in case of PIC anonymous. * sysdeps/unix/sysv/linux/i386/i686/sysdep.h: Likewise. * sysdeps/unix/sysv/linux/i386/clone.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/mmap.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pread64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/s_pwrite64.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/socket.S: Adapt for this change. * sysdeps/unix/sysv/linux/i386/syscall.S: Adapt for this change.
1998-06-07 22:06:56 +08:00
s->name);
}
}
/* ARGUSED */
static void
freenoop (void *p)
{
}
static void
generate_flat_profile (struct profdata *profdata)
{
size_t n;
void *data = NULL;
tick_unit = 1.0 / *(uint32_t *) profdata->hist_hdr->prof_rate;
printf ("Flat profile:\n\n"
"Each sample counts as %g %s.\n",
tick_unit, profdata->hist_hdr->dimen);
fputs (" % cumulative self self total\n"
" time seconds seconds calls us/call us/call name\n",
stdout);
for (n = 0; n < symidx; ++n)
if (sortsym[n]->calls != 0 || sortsym[n]->ticks != 0)
tsearch (sortsym[n], &data, countorder);
twalk (data, printflat);
tdestroy (data, freenoop);
}
static void
generate_call_graph (struct profdata *profdata)
{
size_t cnt;
puts ("\nindex % time self children called name\n");
for (cnt = 0; cnt < symidx; ++cnt)
if (sortsym[cnt]->froms != NULL || sortsym[cnt]->tos != NULL)
{
struct arc_list *runp;
size_t n;
/* First print the from-information. */
runp = sortsym[cnt]->froms;
while (runp != NULL)
{
printf (" %8.2f%8.2f%9" PRIdMAX "/%-9" PRIdMAX " %s",
(runp->idx != (size_t) -1l
? sortsym[runp->idx]->ticks * tick_unit : 0.0),
0.0, /* FIXME: what's time for the children, recursive */
runp->count, sortsym[cnt]->calls,
(runp->idx != (size_t) -1l ?
sortsym[runp->idx]->name : "<UNKNOWN>"));
if (runp->idx != (size_t) -1l)
printf (" [%Zd]", runp->idx);
putchar_unlocked ('\n');
runp = runp->next;
}
/* Info abount the function itself. */
Update. 1998-07-04 10:14 Ulrich Drepper <drepper@cygnus.com> * libio/Makefile (routines): Add iofread_u and iofwrite_u. * libio/Versions: Add fread_unlocked and fwrite_unlocked. * Makerules (lib%.so): Adjust ignore pattern for last makefile change. * time/tzfile.c (decode): Optimize by using bswap_32. (__tzfile_read): Use _unlocked stream functions. Correct setting of __tzname array values. (__tzfile_compute): Correct setting of __tzname array values. * time/tzset.c (__tzstring): Clean up a bit. 1998-06-29 19:01 Jim Wilson <wilson@cygnus.com> * posix/regex.c (re_comp): Add cast to char * before gettext calls. 1998-06-30 Andreas Jaeger <aj@arthur.rhein-neckar.de> * sysdeps/unix/bsd/poll.c (__poll): Allocate fd_set dynamically so that fd can be bigger than FD_SETSIZE. 1998-07-01 Andreas Jaeger <aj@arthur.rhein-neckar.de> * nscd/grpcache.c: Include <unistd.h>. * nscd/pwdcache.c: Likewise. * nis/nis_modify.c: Include <string.h>. * nis/nis_add.c: Likewise. * nis/nis_checkpoint.c: Likewise. * posix/runptests.c: Likewise. * sysdeps/generic/statvfs64.c: Likewise. * sysdeps/generic/fstatvfs64.c: Likewise. 1998-07-03 13:16 Ulrich Drepper <drepper@cygnus.com> * localedata/charmaps/ISO-8859-9: Change mapping for 0xea, 0xec, 0xef to match data from Unicode. Reported by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1998-07-03 11:45 Ulrich Drepper <drepper@cygnus.com> * stdio-common/printf.h: Define printf_function and printf_arginfo_function types using __PMT not __P. Reported by Marc Lehmann. 1998-07-02 14:07 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu> * assert/test-assert.c: New test. * assert/test-assert-perr.c: New test. * assert/Makefile (tests): Add test-assert and test-assert-perr. 1998-07-02 13:45 Zack Weinberg <zack@rabi.phys.columbia.edu> BSD-style SCM_CREDS support. * sysdeps/unix/sysv/linux/socket.h: Define struct cmsgcred and SCM_CREDS. * sysdeps/unix/sysv/linux/sendmsg.c: New file. Convert user visible SCM_CREDS packet to what the kernel wants. * sysdeps/unix/sysv/linux/recvmsg.c: New file. Convert SCM_CREDS packet output by kernel to what users want. * sysdeps/unix/sysv/linux/sendmsg.S: Moved to... * sysdeps/unix/sysv/linux/__sendmsg.S: here. * sysdeps/unix/sysv/linux/recvmsg.S: Moved to... * sysdeps/unix/sysv/linux/__recvmsg.S: here. * sysdeps/unix/sysv/linux/Makefile [subdir=socket]: Add __sendmsg and __recvmsg to sysdep_routines. * sysdeps/unix/sysv/linux/Dist: Add __sendmsg.S and __recvmsg.S. 1998-07-02 Thorsten Kukuk <kukuk@vt.uni-paderborn.de> * nscd/grpcache.c: Fix gid pointer handling and debug messages. * nscd/pwdcache.c: Fix uid pointer handling and debug messages. * nscd/nscd.c: Check, if pthread_create fails. 1998-07-02 Andreas Jaeger <aj@arthur.rhein-neckar.de> * stdio-common/test_rdwr.c (main): Use %Zu for size_t in printf format strings. * stdio-common/bug1.c (main): Likewise. * stdio-common/bug5.c (main): Likewise. * stdio-common/tstgetln.c (main): Likewise. * elf/sprof.c (generate_call_graph): Likewise. (load_shobj): Likewise. * posix/runptests.c (main): Likewise. * string/tst-strlen.c (main): Likewise. * sysdeps/libm-ieee754/e_acos.c (__ieee754_acos): Remove unused variable q3. * sysdeps/libm-ieee754/e_asin.c (__ieee754_asin): Likewise 1998-07-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> * wctype/Versions: Add __towctrans. Noticed by Alex Buell <alex.buell@tahallah.demon.co.uk>. 1998-07-02 Mark Kettenis <kettenis@phys.uva.nl> * grp/initgroups.c (compat_call): Only call dynamically loaded functions if they are really present. 1998-07-02 Mark Kettenis <kettenis@phys.uva.nl> * sysdeps/unix/sysv/linux/bits/sched.h: Move __END_DECLS within #ifdef that contains __BEGIN_DECLS. 1998-07-02 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * libio/iofwrite.c: Fix return value when size == 0. 1998-07-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * posix/Makefile (distribute): Add annexc.c. (generated): Add $(objpfx)annexc and $(objpfx)annexc.out. 1998-07-01 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> * sysdeps/unix/sysv/linux/Makefile (sysdep_headers): Add bits/pthreadtypes.h here, and do not clobber headers. * sysdeps/unix/sysv/linux/Dist: Add bits/pthreadtypes.h. 1998-07-03 Andreas Jaeger <aj@arthur.rhein-neckar.de> * timezone/tst-timezone.c: Add tests for tzname variable. 1998-07-03 12:17 Zack Weinberg <zack@rabi.phys.columbia.edu> * Makefile [versioning=yes]: Build the mapfiles with a pattern rule that lists all of them as targets. (sysd-versions): Depend only on Versions.def. Write a Makefile fragment that defines $(vers-libs) based on contents of that file; then include it. (lib-noranlib): Depend on lib-mapfiles not sysd-versions. (lib-mapfiles): New target, depends on sysd-versions and $(vers-libs). Predicate all this on avoid-generated unset as well as versioning. 1998-07-03 14:35 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
1998-07-04 18:39:13 +08:00
n = printf ("[%Zu]", cnt);
printf ("%*s%5.1f%8.2f%8.2f%9" PRIdMAX " %s [%Zd]\n",
Update. 1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/alpha/sys/io.h: Don't include <asm/io.h>; remove K&R compatibility; add missing ints. * sysdeps/unix/sysv/linux/arm/sys/io.h: Remove K&R compatibility, add missing ints. * sysdeps/unix/sysv/linux/sys/io.h: Don't include <asm/io.h>. 1999-12-29 Andreas Jaeger <aj@suse.de> * manual/getopt.texi (Using Getopt): Document ordering of options. 1999-12-29 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/llseek.c: Emit link time warning for llseek. Requested by Michael Deutschmann <michael@talamasca.wkpowerlink.com>. 1999-12-14 Andreas Jaeger <aj@suse.de> * sysdeps/unix/sysv/linux/scsi/scsi.h: Add new defines from Linux 2.3.32. 1999-12-28 Jakub Jelinek <jakub@redhat.com> * elf/sprof.c (load_shobj): Fix error message. (generate_call_graph): Cast %*s length argument to int. * locale/programs/localedef.c (construct_output_path): Likewise. * locale/programs/ld-ctype.c (ctype_finish): Use proper format specifier. (ctype_class_new): Likewise. * locale/programs/ld-time.c (time_finish): Likewise. * sunrpc/svc_simple.c (register_rpc): Likewise. * nscd/connections.c (nscd_run, start_threads): Use long instead of int to avoid cast warnings. * sysdeps/ieee754/ldbl-128/e_atan2l.c (__ieee754_atan2l): Kill warning. * sysdeps/ieee754/ldbl-128/s_roundl.c (__roundl): Remove unused variable se. * time/strftime.c (my_strftime): Provide wide era string when requested. * sysdeps/sparc/fpu/bits/mathinline.h (__signbit, __signbitl): Separate into 32bit and 64bit versions.
1999-12-30 01:52:49 +08:00
(int) (7 - n), " ",
total_ticks ? (100.0 * sortsym[cnt]->ticks) / total_ticks : 0,
sortsym[cnt]->ticks * tick_unit,
0.0, /* FIXME: what's time for the children, recursive */
sortsym[cnt]->calls,
sortsym[cnt]->name, cnt);
/* Info about the functions this function calls. */
runp = sortsym[cnt]->tos;
while (runp != NULL)
{
printf (" %8.2f%8.2f%9" PRIdMAX "/",
(runp->idx != (size_t) -1l
? sortsym[runp->idx]->ticks * tick_unit : 0.0),
0.0, /* FIXME: what's time for the children, recursive */
runp->count);
if (runp->idx != (size_t) -1l)
printf ("%-9" PRIdMAX " %s [%Zd]\n",
sortsym[runp->idx]->calls,
sortsym[runp->idx]->name,
runp->idx);
else
fputs ("??? <UNKNOWN>\n\n", stdout);
runp = runp->next;
}
fputs ("-----------------------------------------------\n", stdout);
}
}
static void
generate_call_pair_list (struct profdata *profdata)
{
size_t cnt;
for (cnt = 0; cnt < symidx; ++cnt)
if (sortsym[cnt]->froms != NULL || sortsym[cnt]->tos != NULL)
{
struct arc_list *runp;
/* First print the incoming arcs. */
runp = sortsym[cnt]->froms;
while (runp != NULL)
{
if (runp->idx == (size_t) -1l)
printf ("\
<UNKNOWN> %-34s %9" PRIdMAX "\n",
sortsym[cnt]->name, runp->count);
runp = runp->next;
}
/* Next the outgoing arcs. */
runp = sortsym[cnt]->tos;
while (runp != NULL)
{
printf ("%-34s %-34s %9" PRIdMAX "\n",
sortsym[cnt]->name,
(runp->idx != (size_t) -1l
? sortsym[runp->idx]->name : "<UNKNOWN>"),
runp->count);
runp = runp->next;
}
}
}