Deal with target architecture that have a pointer size that is different from

the host architectures pointer size.
This commit is contained in:
Nick Clifton
2002-01-31 18:37:58 +00:00
parent dea03d4e10
commit e7e2dd9226
9 changed files with 512 additions and 392 deletions

View File

@ -1,3 +1,41 @@
2002-01-31 Jason R Thorpe <thorpej@wasabisystems.com>
* TODO: Remove "host architecture pointer size" item.
* acconfig.h: Remove.
* gconfig.in: Regenerate.
* configure.in: Remove check for gmon pointer size.
* configure: Regenerate.
* gmon.h (GMON_HDRSIZE_BSD44_32): Define.
(GMON_HDRSIZE_BSD44_64): Ditto.
(GMON_HDRSIZE_OLDBSD_32): Ditto.
(GMON_HDRSIZE_OLDBSD_64): Ditto.
(struct raw_phdr): Wrap in #if 0, keeping it for
documentation purposes only.
(struct old_raw_phdr): Likewise.
(struct raw_arc): Likewise. Change type/size of
"count" member to long match 4.4BSD.
* gmon_io: Update copyright years.
(gmon_io_read_64): New function.
(gmon_io_read_vma): Use bfd_arch_bits_per_address to
determine target pointer size. Use gmon_io_read_32
and gmon_io_read_64.
(gmon_io_write_64): New function.
(gmon_io_write_vma): Use bfd_arch_bits_per_address to
determine target pointer size. Use gmon_io_write_32
and gmon_io_write_64.
(get_vma): Remove.
(put_vma): Ditto.
(gmon_read_raw_arc): New function.
(gmon_write_raw_arc): New function.
(gmon_out_read): Do not use struct raw_phdr or
struct old_raw_phdr to read the gmon header. Use
gmon_read_raw_arc to read call graph records.
(gmon_out_write): Do not use struct raw_phdr or
struct old_raw_phdr to write the gmon header. Use
gmon_write_raw_arc to write call graph records.
* po/gprof.pot: Regenerate.
* Makefile.in: Regenerate.
2002-01-31 Alan Modra <amodra@bigpond.net.au> 2002-01-31 Alan Modra <amodra@bigpond.net.au>
* alpha.c (alpha_Instruction): Don't use. * alpha.c (alpha_Instruction): Don't use.

View File

@ -1,6 +1,6 @@
# Makefile.in generated automatically by automake 1.4 from Makefile.am # Makefile.in generated automatically by automake 1.4-p5 from Makefile.am
# Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc. # Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation # This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it, # gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved. # with or without modifications, as long as this notice is preserved.
@ -187,13 +187,12 @@ NROFF = nroff
HEADERS = $(noinst_HEADERS) HEADERS = $(noinst_HEADERS)
DIST_COMMON = README ./stamp-h.in ChangeLog Makefile.am Makefile.in \ DIST_COMMON = README ./stamp-h.in ChangeLog Makefile.am Makefile.in \
TODO acconfig.h acinclude.m4 aclocal.m4 configure configure.in \ TODO acinclude.m4 aclocal.m4 configure configure.in gconfig.in
gconfig.in
DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST) DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar TAR = gtar
GZIP_ENV = --best GZIP_ENV = --best
SOURCES = $(gprof_SOURCES) SOURCES = $(gprof_SOURCES)
OBJECTS = $(gprof_OBJECTS) OBJECTS = $(gprof_OBJECTS)
@ -231,7 +230,7 @@ $(srcdir)/gconfig.in: @MAINTAINER_MODE_TRUE@$(srcdir)/stamp-h.in
rm -f $(srcdir)/stamp-h.in; \ rm -f $(srcdir)/stamp-h.in; \
$(MAKE) $(srcdir)/stamp-h.in; \ $(MAKE) $(srcdir)/stamp-h.in; \
else :; fi else :; fi
$(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4) acconfig.h $(srcdir)/stamp-h.in: $(top_srcdir)/configure.in $(ACLOCAL_M4)
cd $(top_srcdir) && $(AUTOHEADER) cd $(top_srcdir) && $(AUTOHEADER)
@echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null @echo timestamp > $(srcdir)/stamp-h.in 2> /dev/null
@ -390,7 +389,7 @@ uninstall-info:
else ii=; fi; \ else ii=; fi; \
list='$(INFO_DEPS)'; \ list='$(INFO_DEPS)'; \
for file in $$list; do \ for file in $$list; do \
test -z "$ii" \ test -z "$$ii" \
|| install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \ || install-info --info-dir=$(DESTDIR)$(infodir) --remove $$file; \
done done
@$(NORMAL_UNINSTALL) @$(NORMAL_UNINSTALL)
@ -504,7 +503,7 @@ maintainer-clean-recursive:
dot_seen=no; \ dot_seen=no; \
rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
rev="$$subdir $$rev"; \ rev="$$subdir $$rev"; \
test "$$subdir" = "." && dot_seen=yes; \ test "$$subdir" != "." || dot_seen=yes; \
done; \ done; \
test "$$dot_seen" = "no" && rev=". $$rev"; \ test "$$dot_seen" = "no" && rev=". $$rev"; \
target=`echo $@ | sed s/-recursive//`; \ target=`echo $@ | sed s/-recursive//`; \

View File

@ -1,7 +1,4 @@
- gmon_io.c cannot deal with target architecture that have a pointer size
that is different from the host architectures pointer size---fix this
(gmon_out.h, and gmon_io.c)
- add support for prof file format so that prof files can be displayed - add support for prof file format so that prof files can be displayed
at the line-level (this is useful for the uprofile tool under DEC's at the line-level (this is useful for the uprofile tool under DEC's
OSF/1) OSF/1)

View File

@ -1,2 +0,0 @@
/* Define as the size of a pointer in the target profile file format. */
#undef GMON_PTR_SIZE

165
gprof/configure vendored
View File

@ -3143,7 +3143,7 @@ EOF
fi fi
for ac_hdr in unistd.h for ac_hdr in stdlib.h unistd.h sys/stat.h sys/types.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
@ -3275,11 +3275,24 @@ else
#include <fcntl.h> #include <fcntl.h>
#include <sys/mman.h> #include <sys/mman.h>
#if HAVE_SYS_TYPES_H
# include <sys/types.h>
#endif
#if HAVE_STDLIB_H
# include <stdlib.h>
#endif
#if HAVE_SYS_STAT_H
# include <sys/stat.h>
#endif
#if HAVE_UNISTD_H
# include <unistd.h>
#endif
/* This mess was copied from the GNU getpagesize.h. */ /* This mess was copied from the GNU getpagesize.h. */
#ifndef HAVE_GETPAGESIZE #ifndef HAVE_GETPAGESIZE
# ifdef HAVE_UNISTD_H
# include <unistd.h>
# endif
/* Assume that all systems that can run configure have sys/param.h. */ /* Assume that all systems that can run configure have sys/param.h. */
# ifndef HAVE_SYS_PARAM_H # ifndef HAVE_SYS_PARAM_H
@ -3387,7 +3400,7 @@ main()
} }
EOF EOF
if { (eval echo configure:3391: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null if { (eval echo configure:3404: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then then
ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_mmap_fixed_mapped=yes
else else
@ -3415,17 +3428,17 @@ unistd.h values.h sys/param.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:3419: checking for $ac_hdr" >&5 echo "configure:3432: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3424 "configure" #line 3437 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:3429: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:3442: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -3455,12 +3468,12 @@ done
__argz_count __argz_stringify __argz_next __argz_count __argz_stringify __argz_next
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:3459: checking for $ac_func" >&5 echo "configure:3472: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3464 "configure" #line 3477 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -3483,7 +3496,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3487: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3500: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -3512,12 +3525,12 @@ done
for ac_func in stpcpy for ac_func in stpcpy
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:3516: checking for $ac_func" >&5 echo "configure:3529: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3521 "configure" #line 3534 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -3540,7 +3553,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3544: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3557: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -3574,19 +3587,19 @@ EOF
if test $ac_cv_header_locale_h = yes; then if test $ac_cv_header_locale_h = yes; then
echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6 echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
echo "configure:3578: checking for LC_MESSAGES" >&5 echo "configure:3591: checking for LC_MESSAGES" >&5
if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3583 "configure" #line 3596 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <locale.h> #include <locale.h>
int main() { int main() {
return LC_MESSAGES return LC_MESSAGES
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3590: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3603: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
am_cv_val_LC_MESSAGES=yes am_cv_val_LC_MESSAGES=yes
else else
@ -3607,7 +3620,7 @@ EOF
fi fi
fi fi
echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6 echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
echo "configure:3611: checking whether NLS is requested" >&5 echo "configure:3624: checking whether NLS is requested" >&5
# Check whether --enable-nls or --disable-nls was given. # Check whether --enable-nls or --disable-nls was given.
if test "${enable_nls+set}" = set; then if test "${enable_nls+set}" = set; then
enableval="$enable_nls" enableval="$enable_nls"
@ -3627,7 +3640,7 @@ fi
EOF EOF
echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6 echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
echo "configure:3631: checking whether included gettext is requested" >&5 echo "configure:3644: checking whether included gettext is requested" >&5
# Check whether --with-included-gettext or --without-included-gettext was given. # Check whether --with-included-gettext or --without-included-gettext was given.
if test "${with_included_gettext+set}" = set; then if test "${with_included_gettext+set}" = set; then
withval="$with_included_gettext" withval="$with_included_gettext"
@ -3646,17 +3659,17 @@ fi
ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'` ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for libintl.h""... $ac_c" 1>&6 echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
echo "configure:3650: checking for libintl.h" >&5 echo "configure:3663: checking for libintl.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3655 "configure" #line 3668 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <libintl.h> #include <libintl.h>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:3660: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:3673: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -3673,19 +3686,19 @@ fi
if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
echo "$ac_t""yes" 1>&6 echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6 echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
echo "configure:3677: checking for gettext in libc" >&5 echo "configure:3690: checking for gettext in libc" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3682 "configure" #line 3695 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <libintl.h> #include <libintl.h>
int main() { int main() {
return (int) gettext ("") return (int) gettext ("")
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3689: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3702: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
gt_cv_func_gettext_libc=yes gt_cv_func_gettext_libc=yes
else else
@ -3701,7 +3714,7 @@ echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
if test "$gt_cv_func_gettext_libc" != "yes"; then if test "$gt_cv_func_gettext_libc" != "yes"; then
echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6 echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
echo "configure:3705: checking for bindtextdomain in -lintl" >&5 echo "configure:3718: checking for bindtextdomain in -lintl" >&5
ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'` ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
@ -3709,7 +3722,7 @@ else
ac_save_LIBS="$LIBS" ac_save_LIBS="$LIBS"
LIBS="-lintl $LIBS" LIBS="-lintl $LIBS"
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3713 "configure" #line 3726 "configure"
#include "confdefs.h" #include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error. */ /* Override any gcc2 internal prototype to avoid an error. */
/* We use char because int might match the return type of a gcc2 /* We use char because int might match the return type of a gcc2
@ -3720,7 +3733,7 @@ int main() {
bindtextdomain() bindtextdomain()
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3724: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3737: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_lib_$ac_lib_var=yes" eval "ac_cv_lib_$ac_lib_var=yes"
else else
@ -3736,19 +3749,19 @@ fi
if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
echo "$ac_t""yes" 1>&6 echo "$ac_t""yes" 1>&6
echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6 echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
echo "configure:3740: checking for gettext in libintl" >&5 echo "configure:3753: checking for gettext in libintl" >&5
if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3745 "configure" #line 3758 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
return (int) gettext ("") return (int) gettext ("")
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3752: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3765: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
gt_cv_func_gettext_libintl=yes gt_cv_func_gettext_libintl=yes
else else
@ -3776,7 +3789,7 @@ EOF
# Extract the first word of "msgfmt", so it can be a program name with args. # Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2 set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:3780: checking for $ac_word" >&5 echo "configure:3793: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -3810,12 +3823,12 @@ fi
for ac_func in dcgettext for ac_func in dcgettext
do do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6 echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
echo "configure:3814: checking for $ac_func" >&5 echo "configure:3827: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3819 "configure" #line 3832 "configure"
#include "confdefs.h" #include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes, /* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */ which can conflict with char $ac_func(); below. */
@ -3838,7 +3851,7 @@ $ac_func();
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3842: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3855: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
eval "ac_cv_func_$ac_func=yes" eval "ac_cv_func_$ac_func=yes"
else else
@ -3865,7 +3878,7 @@ done
# Extract the first word of "gmsgfmt", so it can be a program name with args. # Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2 set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:3869: checking for $ac_word" >&5 echo "configure:3882: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -3901,7 +3914,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args. # Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2 set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:3905: checking for $ac_word" >&5 echo "configure:3918: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -3933,7 +3946,7 @@ else
fi fi
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 3937 "configure" #line 3950 "configure"
#include "confdefs.h" #include "confdefs.h"
int main() { int main() {
@ -3941,7 +3954,7 @@ extern int _nl_msg_cat_cntr;
return _nl_msg_cat_cntr return _nl_msg_cat_cntr
; return 0; } ; return 0; }
EOF EOF
if { (eval echo configure:3945: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then if { (eval echo configure:3958: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then
rm -rf conftest* rm -rf conftest*
CATOBJEXT=.gmo CATOBJEXT=.gmo
DATADIRNAME=share DATADIRNAME=share
@ -3973,7 +3986,7 @@ fi
# Extract the first word of "msgfmt", so it can be a program name with args. # Extract the first word of "msgfmt", so it can be a program name with args.
set dummy msgfmt; ac_word=$2 set dummy msgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:3977: checking for $ac_word" >&5 echo "configure:3990: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -4007,7 +4020,7 @@ fi
# Extract the first word of "gmsgfmt", so it can be a program name with args. # Extract the first word of "gmsgfmt", so it can be a program name with args.
set dummy gmsgfmt; ac_word=$2 set dummy gmsgfmt; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:4011: checking for $ac_word" >&5 echo "configure:4024: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -4043,7 +4056,7 @@ fi
# Extract the first word of "xgettext", so it can be a program name with args. # Extract the first word of "xgettext", so it can be a program name with args.
set dummy xgettext; ac_word=$2 set dummy xgettext; ac_word=$2
echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
echo "configure:4047: checking for $ac_word" >&5 echo "configure:4060: checking for $ac_word" >&5
if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -4133,7 +4146,7 @@ fi
LINGUAS= LINGUAS=
else else
echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6 echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
echo "configure:4137: checking for catalogs to be installed" >&5 echo "configure:4150: checking for catalogs to be installed" >&5
NEW_LINGUAS= NEW_LINGUAS=
for lang in ${LINGUAS=$ALL_LINGUAS}; do for lang in ${LINGUAS=$ALL_LINGUAS}; do
case "$ALL_LINGUAS" in case "$ALL_LINGUAS" in
@ -4161,17 +4174,17 @@ echo "configure:4137: checking for catalogs to be installed" >&5
if test "$CATOBJEXT" = ".cat"; then if test "$CATOBJEXT" = ".cat"; then
ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'` ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6 echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
echo "configure:4165: checking for linux/version.h" >&5 echo "configure:4178: checking for linux/version.h" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 4170 "configure" #line 4183 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <linux/version.h> #include <linux/version.h>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:4175: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:4188: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -4234,7 +4247,7 @@ fi
echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6 echo $ac_n "checking whether to enable maintainer-specific portions of Makefiles""... $ac_c" 1>&6
echo "configure:4238: checking whether to enable maintainer-specific portions of Makefiles" >&5 echo "configure:4251: checking whether to enable maintainer-specific portions of Makefiles" >&5
# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given. # Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
if test "${enable_maintainer_mode+set}" = set; then if test "${enable_maintainer_mode+set}" = set; then
enableval="$enable_maintainer_mode" enableval="$enable_maintainer_mode"
@ -4259,7 +4272,7 @@ fi
echo $ac_n "checking for executable suffix""... $ac_c" 1>&6 echo $ac_n "checking for executable suffix""... $ac_c" 1>&6
echo "configure:4263: checking for executable suffix" >&5 echo "configure:4276: checking for executable suffix" >&5
if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_exeext'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
@ -4269,7 +4282,7 @@ else
rm -f conftest* rm -f conftest*
echo 'int main () { return 0; }' > conftest.$ac_ext echo 'int main () { return 0; }' > conftest.$ac_ext
ac_cv_exeext= ac_cv_exeext=
if { (eval echo configure:4273: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then if { (eval echo configure:4286: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; }; then
for file in conftest.*; do for file in conftest.*; do
case $file in case $file in
*.c | *.o | *.obj) ;; *.c | *.o | *.obj) ;;
@ -4294,17 +4307,17 @@ for ac_hdr in sys/gmon_out.h
do do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
echo "configure:4298: checking for $ac_hdr" >&5 echo "configure:4311: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6 echo $ac_n "(cached) $ac_c" 1>&6
else else
cat > conftest.$ac_ext <<EOF cat > conftest.$ac_ext <<EOF
#line 4303 "configure" #line 4316 "configure"
#include "confdefs.h" #include "confdefs.h"
#include <$ac_hdr> #include <$ac_hdr>
EOF EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
{ (eval echo configure:4308: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } { (eval echo configure:4321: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"`
if test -z "$ac_err"; then if test -z "$ac_err"; then
rm -rf conftest* rm -rf conftest*
@ -4331,54 +4344,6 @@ fi
done done
echo $ac_n "checking the size of gmon pointers""... $ac_c" 1>&6
echo "configure:4336: checking the size of gmon pointers" >&5
if test "$cross_compiling" = yes; then
gmon_ptr_size=4
else
cat > conftest.$ac_ext <<EOF
#line 4341 "configure"
#include "confdefs.h"
#include <stdio.h>
#include <stdlib.h>
#if HAVE_SYS_GMON_OUT_H
#include <sys/gmon_out.h>
#endif
main()
{
#if HAVE_SYS_GMON_OUT_H
struct gmon_cg_arc_record arc;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(arc.from_pc));
exit(0);
#else
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", (int) sizeof(char *));
exit(1);
#endif
}
EOF
if { (eval echo configure:4364: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null
then
gmon_ptr_size=`cat conftestval`
else
echo "configure: failed program was:" >&5
cat conftest.$ac_ext >&5
rm -fr conftest*
gmon_ptr_size=4
fi
rm -fr conftest*
fi
echo "$ac_t""$gmon_ptr_size" 1>&6
cat >> confdefs.h <<EOF
#define GMON_PTR_SIZE $gmon_ptr_size
EOF
build_warnings="-W -Wall" build_warnings="-W -Wall"
# Check whether --enable-build-warnings or --disable-build-warnings was given. # Check whether --enable-build-warnings or --disable-build-warnings was given.
if test "${enable_build_warnings+set}" = set; then if test "${enable_build_warnings+set}" = set; then

View File

@ -31,31 +31,6 @@ AC_EXEEXT
AC_CHECK_HEADERS(sys/gmon_out.h) AC_CHECK_HEADERS(sys/gmon_out.h)
AC_MSG_CHECKING(the size of gmon pointers)
AC_TRY_RUN([#include <stdio.h>
#include <stdlib.h>
#if HAVE_SYS_GMON_OUT_H
#include <sys/gmon_out.h>
#endif
main()
{
#if HAVE_SYS_GMON_OUT_H
struct gmon_cg_arc_record arc;
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", sizeof(arc.from_pc));
exit(0);
#else
FILE *f=fopen("conftestval", "w");
if (!f) exit(1);
fprintf(f, "%d\n", (int) sizeof(char *));
exit(1);
#endif
}], gmon_ptr_size=`cat conftestval`, gmon_ptr_size=4, gmon_ptr_size=4)
AC_MSG_RESULT($gmon_ptr_size)
AC_DEFINE_UNQUOTED(GMON_PTR_SIZE, $gmon_ptr_size)
build_warnings="-W -Wall" build_warnings="-W -Wall"
AC_ARG_ENABLE(build-warnings, AC_ARG_ENABLE(build-warnings,
[ --enable-build-warnings Enable build-time compiler warnings if gcc is used], [ --enable-build-warnings Enable build-time compiler warnings if gcc is used],

View File

@ -35,29 +35,44 @@
#ifndef gmon_h #ifndef gmon_h
#define gmon_h #define gmon_h
struct raw_phdr /* Size of the 4.4BSD gmon header */
#define GMON_HDRSIZE_BSD44_32 (4 + 4 + 4 + 4 + 4 + (3 * 4))
#define GMON_HDRSIZE_BSD44_64 (8 + 8 + 4 + 4 + 4 + (3 * 4))
#if 0 /* For documentation purposes only. */
struct raw_phdr
{ {
/* FIXME: Checking a host compiler define means that we can't use char low_pc[sizeof(void *)]; /* base pc address of sample buffer */
a cross gprof to the alpha. */ char high_pc[sizeof(void *)];/* max pc address of sampled buffer */
char low_pc[GMON_PTR_SIZE]; /* base pc address of sample buffer */ char ncnt[4]; /* size of sample buffer (plus this
char high_pc[GMON_PTR_SIZE];/* max pc address of sampled buffer */ header) */
char ncnt[4]; /* size of sample buffer (plus this header) */
char version[4]; /* version number */ char version[4]; /* version number */
char profrate[4]; /* profiling clock rate */ char profrate[4]; /* profiling clock rate */
char spare[3*4]; /* reserved */ char spare[3*4]; /* reserved */
}; };
#endif
#define GMONVERSION 0x00051879 #define GMONVERSION 0x00051879
struct old_raw_phdr /* Size of the old BSD gmon header */
{ #define GMON_HDRSIZE_OLDBSD_32 (4 + 4 + 4)
char low_pc[GMON_PTR_SIZE]; /* base pc address of sample buffer */
char high_pc[GMON_PTR_SIZE];/* max pc address of sampled buffer */
char ncnt[4]; /* size of sample buffer (plus this header) */
/* FIXME: Checking host compiler defines here means that we can't /* FIXME: Checking host compiler defines here means that we can't
use a cross gprof alpha OSF. */ use a cross gprof alpha OSF. */
#if defined(__alpha__) && defined (__osf__)
#define GMON_HDRSIZE_OLDBSD_64 (8 + 8 + 4 + 4)
#else
#define GMON_HDRSIZE_OLDBSD_64 (8 + 8 + 4)
#endif
#if 0 /* For documentation purposes only. */
struct old_raw_phdr
{
char low_pc[sizeof(void *)]; /* base pc address of sample buffer */
char high_pc[sizeof(void *)];/* max pc address of sampled buffer */
char ncnt[4]; /* size of sample buffer (plus this
header) */
#if defined (__alpha__) && defined (__osf__) #if defined (__alpha__) && defined (__osf__)
/* /*
* DEC's OSF v3.0 uses 4 bytes of padding to bring the header to * DEC's OSF v3.0 uses 4 bytes of padding to bring the header to
@ -66,6 +81,7 @@ struct old_raw_phdr
char pad[4]; char pad[4];
#endif #endif
}; };
#endif
/* /*
* Histogram counters are unsigned shorts: * Histogram counters are unsigned shorts:
@ -120,12 +136,14 @@ struct tostruct
* as to get a packed representation (otherwise, different compilers * as to get a packed representation (otherwise, different compilers
* might introduce different padding): * might introduce different padding):
*/ */
struct raw_arc #if 0 /* For documentation purposes only. */
struct raw_arc
{ {
char from_pc[GMON_PTR_SIZE]; char from_pc[sizeof(void *)];
char self_pc[GMON_PTR_SIZE]; char self_pc[sizeof(void *)];
char count[4]; char count[sizeof(long)];
}; };
#endif
/* /*
* General rounding functions: * General rounding functions:

View File

@ -1,6 +1,6 @@
/* gmon_io.c - Input and output from/to gmon.out files. /* gmon_io.c - Input and output from/to gmon.out files.
Copyright 2000, 2001 Free Software Foundation, Inc. Copyright 2000, 2001, 2002 Free Software Foundation, Inc.
This file is part of GNU Binutils. This file is part of GNU Binutils.
@ -37,35 +37,6 @@
int gmon_input = 0; int gmon_input = 0;
int gmon_file_version = 0; /* 0 == old (non-versioned) file format. */ int gmon_file_version = 0; /* 0 == old (non-versioned) file format. */
int
DEFUN (gmon_io_read_vma, (ifp, valp), FILE * ifp AND bfd_vma *valp)
{
char buf[8];
bfd_vma val;
switch (GMON_PTR_SIZE)
{
case 4:
if (fread (buf, 1, 4, ifp) != 4)
return 1;
val = bfd_get_32 (core_bfd, buf);
break;
case 8:
if (fread (buf, 1, 8, ifp) != 8)
return 1;
val = bfd_get_64 (core_bfd, buf);
break;
default:
fprintf (stderr, _("%s: GMON_PTR_SIZE has unexpected value of %u\n"),
whoami, GMON_PTR_SIZE);
done (1);
}
*valp = val;
return 0;
}
int int
DEFUN (gmon_io_read_32, (ifp, valp), FILE * ifp AND unsigned int *valp) DEFUN (gmon_io_read_32, (ifp, valp), FILE * ifp AND unsigned int *valp)
{ {
@ -77,6 +48,45 @@ DEFUN (gmon_io_read_32, (ifp, valp), FILE * ifp AND unsigned int *valp)
return 0; return 0;
} }
int
DEFUN (gmon_io_read_64, (ifp, valp), FILE * ifp AND BFD_HOST_U_64_BIT *valp)
{
char buf[8];
if (fread (buf, 1, 8, ifp) != 8)
return 1;
*valp = bfd_get_64 (core_bfd, buf);
return 0;
}
int
DEFUN (gmon_io_read_vma, (ifp, valp), FILE * ifp AND bfd_vma *valp)
{
unsigned int val32;
BFD_HOST_U_64_BIT val64;
switch (bfd_arch_bits_per_address (core_bfd))
{
case 32:
if (gmon_io_read_32 (ifp, &val32))
return 1;
*valp = val32;
break;
case 64:
if (gmon_io_read_64 (ifp, &val64))
return 1;
*valp = val64;
break;
default:
fprintf (stderr, _("%s: bits per address has unexpected value of %u\n"),
whoami, bfd_arch_bits_per_address (core_bfd));
done (1);
}
return 0;
}
int int
DEFUN (gmon_io_read, (ifp, buf, n), FILE * ifp AND char *buf AND size_t n) DEFUN (gmon_io_read, (ifp, buf, n), FILE * ifp AND char *buf AND size_t n)
{ {
@ -85,33 +95,6 @@ DEFUN (gmon_io_read, (ifp, buf, n), FILE * ifp AND char *buf AND size_t n)
return 0; return 0;
} }
int
DEFUN (gmon_io_write_vma, (ofp, val), FILE * ofp AND bfd_vma val)
{
char buf[8];
switch (GMON_PTR_SIZE)
{
case 4:
bfd_put_32 (core_bfd, val, buf);
if (fwrite (buf, 1, 4, ofp) != 4)
return 1;
break;
case 8:
bfd_put_64 (core_bfd, val, buf);
if (fwrite (buf, 1, 8, ofp) != 8)
return 1;
break;
default:
fprintf (stderr, _("%s: GMON_PTR_SIZE has unexpected value of %u\n"),
whoami, GMON_PTR_SIZE);
done (1);
}
return 0;
}
int int
DEFUN (gmon_io_write_32, (ofp, val), FILE * ofp AND unsigned int val) DEFUN (gmon_io_write_32, (ofp, val), FILE * ofp AND unsigned int val)
{ {
@ -123,6 +106,41 @@ DEFUN (gmon_io_write_32, (ofp, val), FILE * ofp AND unsigned int val)
return 0; return 0;
} }
int
DEFUN (gmon_io_write_64, (ofp, val), FILE * ofp AND BFD_HOST_U_64_BIT val)
{
char buf[8];
bfd_put_64 (core_bfd, val, buf);
if (fwrite (buf, 1, 8, ofp) != 8)
return 1;
return 0;
}
int
DEFUN (gmon_io_write_vma, (ofp, val), FILE * ofp AND bfd_vma val)
{
switch (bfd_arch_bits_per_address (core_bfd))
{
case 32:
if (gmon_io_write_32 (ofp, (unsigned int) val))
return 1;
break;
case 64:
if (gmon_io_write_64 (ofp, (BFD_HOST_U_64_BIT) val))
return 1;
break;
default:
fprintf (stderr, _("%s: bits per address has unexpected value of %u\n"),
whoami, bfd_arch_bits_per_address (core_bfd));
done (1);
}
return 0;
}
int int
DEFUN (gmon_io_write_8, (ofp, val), FILE * ofp AND unsigned char val) DEFUN (gmon_io_write_8, (ofp, val), FILE * ofp AND unsigned char val)
{ {
@ -142,39 +160,64 @@ DEFUN (gmon_io_write, (ofp, buf, n), FILE * ofp AND char *buf AND size_t n)
return 0; return 0;
} }
/* get_vma and put_vma are for backwards compatibility only */ int
static bfd_vma DEFUN (gmon_read_raw_arc, (ifp, fpc, spc, cnt), FILE * ifp AND bfd_vma * fpc AND bfd_vma * spc AND unsigned long * cnt)
DEFUN (get_vma, (abfd, addr), bfd * abfd AND bfd_byte * addr)
{ {
switch (sizeof (char*)) BFD_HOST_U_64_BIT cnt64;
unsigned int cnt32;
if (gmon_io_read_vma (ifp, fpc)
|| gmon_io_read_vma (ifp, spc))
return 1;
switch (bfd_arch_bits_per_address (core_bfd))
{ {
case 4: case 32:
return bfd_get_32 (abfd, addr); if (gmon_io_read_32 (ifp, &cnt32))
case 8: return 1;
return bfd_get_64 (abfd, addr); *cnt = cnt32;
break;
case 64:
if (gmon_io_read_64 (ifp, &cnt64))
return 1;
*cnt = cnt64;
break;
default: default:
fprintf (stderr, _("%s: bfd_vma has unexpected size of %ld bytes\n"), fprintf (stderr, _("%s: bits per address has unexpected value of %u\n"),
whoami, (long) sizeof (char*)); whoami, bfd_arch_bits_per_address (core_bfd));
done (1); done (1);
} }
return 0;
} }
static void int
DEFUN (put_vma, (abfd, val, addr), bfd * abfd AND bfd_vma val AND bfd_byte * addr) DEFUN (gmon_write_raw_arc, (ofp, fpc, spc, cnt), FILE * ofp AND bfd_vma fpc AND bfd_vma spc AND unsigned long cnt)
{ {
switch (sizeof (char*))
if (gmon_io_write_vma (ofp, fpc)
|| gmon_io_write_vma (ofp, spc))
return 1;
switch (bfd_arch_bits_per_address (core_bfd))
{ {
case 4: case 32:
bfd_put_32 (abfd, val, addr); if (gmon_io_write_32 (ofp, (unsigned int) cnt))
return 1;
break; break;
case 8:
bfd_put_64 (abfd, val, addr); case 64:
if (gmon_io_write_64 (ofp, (BFD_HOST_U_64_BIT) cnt))
return 1;
break; break;
default: default:
fprintf (stderr, _("%s: bfd_vma has unexpected size of %ld bytes\n"), fprintf (stderr, _("%s: bits per address has unexpected value of %u\n"),
whoami, (long) sizeof (char*)); whoami, bfd_arch_bits_per_address (core_bfd));
done (1); done (1);
} }
return 0;
} }
void void
@ -273,14 +316,13 @@ DEFUN (gmon_out_read, (filename), const char *filename)
bfd_vma high_pc; bfd_vma high_pc;
int ncnt; int ncnt;
}; };
int i, samp_bytes, header_size; int i, samp_bytes, header_size = 0;
unsigned long count; unsigned long count;
bfd_vma from_pc, self_pc; bfd_vma from_pc, self_pc;
struct raw_arc raw_arc;
struct raw_phdr raw;
static struct hdr h; static struct hdr h;
UNIT raw_bin_count; UNIT raw_bin_count;
struct hdr tmp; struct hdr tmp;
int version;
/* Information from a gmon.out file is in two parts: an array of /* Information from a gmon.out file is in two parts: an array of
sampling hits within pc ranges, and the arcs. */ sampling hits within pc ranges, and the arcs. */
@ -295,25 +337,29 @@ DEFUN (gmon_out_read, (filename), const char *filename)
done (1); done (1);
} }
if (fread (&raw, 1, sizeof (struct raw_phdr), ifp) /* The beginning of the old BSD header and the 4.4BSD header
!= sizeof (struct raw_phdr)) are the same: lowpc, highpc, ncnt */
if (gmon_io_read_vma (ifp, &tmp.low_pc)
|| gmon_io_read_vma (ifp, &tmp.high_pc)
|| gmon_io_read_32 (ifp, &tmp.ncnt))
{ {
bad_gmon_file:
fprintf (stderr, _("%s: file too short to be a gmon file\n"), fprintf (stderr, _("%s: file too short to be a gmon file\n"),
filename); filename);
done (1); done (1);
} }
tmp.low_pc = get_vma (core_bfd, (bfd_byte *) &raw.low_pc[0]); /* Check to see if this a 4.4BSD-style header. */
tmp.high_pc = get_vma (core_bfd, (bfd_byte *) &raw.high_pc[0]); if (gmon_io_read_32 (ifp, &version))
tmp.ncnt = bfd_get_32 (core_bfd, (bfd_byte *) &raw.ncnt[0]); goto bad_gmon_file;
if (bfd_get_32 (core_bfd, (bfd_byte *) &raw.version[0]) if (version == GMONVERSION)
== GMONVERSION)
{ {
int profrate; int profrate;
/* 4.4BSD format header. */ /* 4.4BSD format header. */
profrate = bfd_get_32 (core_bfd, (bfd_byte *) &raw.profrate[0]); if (gmon_io_read_32 (ifp, &profrate))
goto bad_gmon_file;
if (!s_highpc) if (!s_highpc)
hz = profrate; hz = profrate;
@ -325,7 +371,22 @@ DEFUN (gmon_out_read, (filename), const char *filename)
done (1); done (1);
} }
header_size = sizeof (struct raw_phdr); switch (bfd_arch_bits_per_address (core_bfd))
{
case 32:
header_size = GMON_HDRSIZE_BSD44_32;
break;
case 64:
header_size = GMON_HDRSIZE_BSD44_64;
break;
default:
fprintf (stderr,
_("%s: bits per address has unexpected value of %u\n"),
whoami, bfd_arch_bits_per_address (core_bfd));
done (1);
}
} }
else else
{ {
@ -337,15 +398,31 @@ DEFUN (gmon_out_read, (filename), const char *filename)
done (1); done (1);
} }
if (fseek (ifp, sizeof (struct old_raw_phdr), SEEK_SET) < 0) switch (bfd_arch_bits_per_address (core_bfd))
{
case 32:
header_size = GMON_HDRSIZE_OLDBSD_32;
break;
case 64:
header_size = GMON_HDRSIZE_OLDBSD_64;
break;
default:
fprintf (stderr,
_("%s: bits per address has unexpected value of %u\n"),
whoami, bfd_arch_bits_per_address (core_bfd));
done (1);
}
}
/* Position the file to after the header. */
if (fseek (ifp, header_size, SEEK_SET) < 0)
{ {
perror (filename); perror (filename);
done (1); done (1);
} }
header_size = sizeof (struct old_raw_phdr);
}
if (s_highpc && (tmp.low_pc != h.low_pc if (s_highpc && (tmp.low_pc != h.low_pc
|| tmp.high_pc != h.high_pc || tmp.ncnt != h.ncnt)) || tmp.high_pc != h.high_pc || tmp.ncnt != h.ncnt))
{ {
@ -408,12 +485,9 @@ DEFUN (gmon_out_read, (filename), const char *filename)
/* The rest of the file consists of a bunch of /* The rest of the file consists of a bunch of
<from,self,count> tuples. */ <from,self,count> tuples. */
while (fread (&raw_arc, sizeof (raw_arc), 1, ifp) == 1) while (gmon_read_raw_arc (ifp, &from_pc, &self_pc, &count) == 0)
{ {
++narcs; ++narcs;
from_pc = get_vma (core_bfd, (bfd_byte *) raw_arc.from_pc);
self_pc = get_vma (core_bfd, (bfd_byte *) raw_arc.self_pc);
count = bfd_get_32 (core_bfd, (bfd_byte *) raw_arc.count);
DBG (SAMPLEDEBUG, DBG (SAMPLEDEBUG,
printf ("[gmon_out_read] frompc 0x%lx selfpc 0x%lx count %lu\n", printf ("[gmon_out_read] frompc 0x%lx selfpc 0x%lx count %lu\n",
@ -503,41 +577,95 @@ DEFUN (gmon_out_write, (filename), const char *filename)
} }
else if (file_format == FF_BSD || file_format == FF_BSD44) else if (file_format == FF_BSD || file_format == FF_BSD44)
{ {
struct raw_arc raw_arc;
UNIT raw_bin_count; UNIT raw_bin_count;
struct raw_phdr h; int i, hdrsize;
int i; unsigned padsize;
char pad[3*4];
Arc *arc; Arc *arc;
Sym *sym; Sym *sym;
memset (&h, 0, sizeof h); memset (pad, 0, sizeof (pad));
put_vma (core_bfd, s_lowpc, (bfd_byte *) &h.low_pc);
put_vma (core_bfd, s_highpc, (bfd_byte *) &h.high_pc);
bfd_put_32 (core_bfd,
hist_num_bins * sizeof (UNIT) + sizeof (struct raw_phdr),
(bfd_byte *) &h.ncnt);
/* Write header. Use new style BSD format is explicitly hdrsize = 0;
specified, or if the profiling rate is non-standard; /* Decide how large the header will be. Use the 4.4BSD format
otherwise, use the old BSD format. */ header if explicitly specified, or if the profiling rate is
non-standard. Otherwise, use the old BSD format. */
if (file_format == FF_BSD44 if (file_format == FF_BSD44
|| hz != hertz ()) || hz != hertz())
{ {
bfd_put_32 (core_bfd, GMONVERSION, (bfd_byte *) &h.version); padsize = 3*4;
bfd_put_32 (core_bfd, hz, (bfd_byte *) &h.profrate); switch (bfd_arch_bits_per_address (core_bfd))
if (fwrite (&h, sizeof (struct raw_phdr), 1, ofp) != 1)
{ {
perror (filename); case 32:
hdrsize = GMON_HDRSIZE_BSD44_32;
break;
case 64:
hdrsize = GMON_HDRSIZE_BSD44_64;
break;
default:
fprintf (stderr,
_("%s: bits per address has unexpected value of %u\n"),
whoami, bfd_arch_bits_per_address (core_bfd));
done (1); done (1);
} }
} }
else else
{ {
if (fwrite (&h, sizeof (struct old_raw_phdr), 1, ofp) != 1) padsize = 0;
switch (bfd_arch_bits_per_address (core_bfd))
{
case 32:
hdrsize = GMON_HDRSIZE_OLDBSD_32;
break;
case 64:
hdrsize = GMON_HDRSIZE_OLDBSD_64;
/* FIXME: Checking host compiler defines here means that we can't
use a cross gprof alpha OSF. */
#if defined(__alpha__) && defined (__osf__)
padsize = 4;
#endif
break;
default:
fprintf (stderr,
_("%s: bits per address has unexpected value of %u\n"),
whoami, bfd_arch_bits_per_address (core_bfd));
done (1);
}
}
/* Write the parts of the headers that are common to both the
old BSD and 4.4BSD formats. */
if (gmon_io_write_vma (ofp, s_lowpc)
|| gmon_io_write_vma (ofp, s_highpc)
|| gmon_io_write_32 (ofp, hist_num_bins * sizeof (UNIT) + hdrsize))
{ {
perror (filename); perror (filename);
done (1); done (1);
} }
/* Write out the 4.4BSD header bits, if that's what we're using. */
if (file_format == FF_BSD44
|| hz != hertz())
{
if (gmon_io_write_32 (ofp, GMONVERSION)
|| gmon_io_write_32 (ofp, hz))
{
perror (filename);
done (1);
}
}
/* Now write out any necessary padding after the meaningful
header bits. */
if (padsize != 0
&& fwrite (pad, 1, padsize, ofp) != padsize)
{
perror (filename);
done (1);
} }
/* Dump the samples. */ /* Dump the samples. */
@ -556,12 +684,8 @@ DEFUN (gmon_out_write, (filename), const char *filename)
{ {
for (arc = sym->cg.children; arc; arc = arc->next_child) for (arc = sym->cg.children; arc; arc = arc->next_child)
{ {
put_vma (core_bfd, arc->parent->addr, if (gmon_write_raw_arc (ofp, arc->parent->addr,
(bfd_byte *) raw_arc.from_pc); arc->child->addr, arc->count))
put_vma (core_bfd, arc->child->addr,
(bfd_byte *) raw_arc.self_pc);
bfd_put_32 (core_bfd, arc->count, (bfd_byte *) raw_arc.count);
if (fwrite (&raw_arc, sizeof (raw_arc), 1, ofp) != 1)
{ {
perror (filename); perror (filename);
done (1); done (1);

View File

@ -6,7 +6,7 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2002-01-17 14:03+0000\n" "POT-Creation-Date: 2002-01-31 18:32+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -14,46 +14,46 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
#: alpha.c:90 #: alpha.c:93 mips.c:47
msgid "<indirect child>" msgid "<indirect child>"
msgstr "" msgstr ""
#: alpha.c:107 #: alpha.c:110 mips.c:64
#, c-format #, c-format
msgid "[find_call] %s: 0x%lx to 0x%lx\n" msgid "[find_call] %s: 0x%lx to 0x%lx\n"
msgstr "" msgstr ""
#: alpha.c:129 #: alpha.c:132
#, c-format #, c-format
msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n" msgid "[find_call] 0x%lx: jsr%s <indirect_child>\n"
msgstr "" msgstr ""
#: alpha.c:138 #: alpha.c:142
#, c-format #, c-format
msgid "[find_call] 0x%lx: bsr" msgid "[find_call] 0x%lx: bsr"
msgstr "" msgstr ""
#: basic_blocks.c:124 call_graph.c:87 hist.c:92 #: basic_blocks.c:122 call_graph.c:90 hist.c:93
#, c-format #, c-format
msgid "%s: %s: unexpected end of file\n" msgid "%s: %s: unexpected end of file\n"
msgstr "" msgstr ""
#: basic_blocks.c:192 #: basic_blocks.c:190
#, c-format #, c-format
msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n" msgid "%s: warning: ignoring basic-block exec counts (use -l or --line)\n"
msgstr "" msgstr ""
#. FIXME: This only works if bfd_vma is unsigned long. #. FIXME: This only works if bfd_vma is unsigned long.
#: basic_blocks.c:283 basic_blocks.c:293 #: basic_blocks.c:281 basic_blocks.c:291
#, c-format #, c-format
msgid "%s:%d: (%s:0x%lx) %lu executions\n" msgid "%s:%d: (%s:0x%lx) %lu executions\n"
msgstr "" msgstr ""
#: basic_blocks.c:284 basic_blocks.c:294 #: basic_blocks.c:282 basic_blocks.c:292
msgid "<unknown>" msgid "<unknown>"
msgstr "" msgstr ""
#: basic_blocks.c:538 #: basic_blocks.c:536
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
@ -64,284 +64,280 @@ msgid ""
"\n" "\n"
msgstr "" msgstr ""
#: basic_blocks.c:562 #: basic_blocks.c:560
msgid "" msgid ""
"\n" "\n"
"Execution Summary:\n" "Execution Summary:\n"
"\n" "\n"
msgstr "" msgstr ""
#: basic_blocks.c:563 #: basic_blocks.c:561
#, c-format #, c-format
msgid "%9ld Executable lines in this file\n" msgid "%9ld Executable lines in this file\n"
msgstr "" msgstr ""
#: basic_blocks.c:565 #: basic_blocks.c:563
#, c-format #, c-format
msgid "%9ld Lines executed\n" msgid "%9ld Lines executed\n"
msgstr "" msgstr ""
#: basic_blocks.c:566 #: basic_blocks.c:564
#, c-format #, c-format
msgid "%9.2f Percent of the file executed\n" msgid "%9.2f Percent of the file executed\n"
msgstr "" msgstr ""
#: basic_blocks.c:570 #: basic_blocks.c:568
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
"%9lu Total number of line executions\n" "%9lu Total number of line executions\n"
msgstr "" msgstr ""
#: basic_blocks.c:572 #: basic_blocks.c:570
#, c-format #, c-format
msgid "%9.2f Average executions per line\n" msgid "%9.2f Average executions per line\n"
msgstr "" msgstr ""
#: call_graph.c:66 #: call_graph.c:69
#, c-format #, c-format
msgid "[cg_tally] arc from %s to %s traversed %lu times\n" msgid "[cg_tally] arc from %s to %s traversed %lu times\n"
msgstr "" msgstr ""
#: cg_print.c:54 #: cg_print.c:58
msgid "" msgid ""
"\t\t Call graph (explanation follows)\n" "\t\t Call graph (explanation follows)\n"
"\n" "\n"
msgstr "" msgstr ""
#: cg_print.c:56 #: cg_print.c:60
msgid "" msgid ""
"\t\t\tCall graph\n" "\t\t\tCall graph\n"
"\n" "\n"
msgstr "" msgstr ""
#: cg_print.c:59 hist.c:354 #: cg_print.c:63 hist.c:355
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
"granularity: each sample hit covers %ld byte(s)" "granularity: each sample hit covers %ld byte(s)"
msgstr "" msgstr ""
#: cg_print.c:63 #: cg_print.c:67
#, c-format #, c-format
msgid "" msgid ""
" for %.2f%% of %.2f seconds\n" " for %.2f%% of %.2f seconds\n"
"\n" "\n"
msgstr "" msgstr ""
#: cg_print.c:67 #: cg_print.c:71
msgid "" msgid ""
" no time propagated\n" " no time propagated\n"
"\n" "\n"
msgstr "" msgstr ""
#: cg_print.c:76 cg_print.c:79 cg_print.c:81 #: cg_print.c:80 cg_print.c:83 cg_print.c:85
msgid "called" msgid "called"
msgstr "" msgstr ""
#: cg_print.c:76 cg_print.c:81 #: cg_print.c:80 cg_print.c:85
msgid "total" msgid "total"
msgstr "" msgstr ""
#: cg_print.c:76 #: cg_print.c:80
msgid "parents" msgid "parents"
msgstr "" msgstr ""
#: cg_print.c:78 cg_print.c:79 #: cg_print.c:82 cg_print.c:83
msgid "index" msgid "index"
msgstr "" msgstr ""
#: cg_print.c:78 #: cg_print.c:82
msgid "%time" msgid "%time"
msgstr "" msgstr ""
#: cg_print.c:78 cg_print.c:79 #: cg_print.c:82 cg_print.c:83
msgid "self" msgid "self"
msgstr "" msgstr ""
#: cg_print.c:78 #: cg_print.c:82
msgid "descendants" msgid "descendants"
msgstr "" msgstr ""
#: cg_print.c:79 hist.c:380 #: cg_print.c:83 hist.c:381
msgid "name" msgid "name"
msgstr "" msgstr ""
#: cg_print.c:81 #: cg_print.c:85
msgid "children" msgid "children"
msgstr "" msgstr ""
#: cg_print.c:86 #: cg_print.c:90
#, c-format #, c-format
msgid "index %% time self children called name\n" msgid "index %% time self children called name\n"
msgstr "" msgstr ""
#: cg_print.c:109 #: cg_print.c:113
#, c-format #, c-format
msgid " <cycle %d as a whole> [%d]\n" msgid " <cycle %d as a whole> [%d]\n"
msgstr "" msgstr ""
#: cg_print.c:335 #: cg_print.c:339
#, c-format #, c-format
msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s <spontaneous>\n" msgid "%6.6s %5.5s %7.7s %11.11s %7.7s %7.7s <spontaneous>\n"
msgstr "" msgstr ""
#: cg_print.c:336 #: cg_print.c:340
#, c-format #, c-format
msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontaneous>\n" msgid "%6.6s %5.5s %7.7s %7.7s %7.7s %7.7s <spontaneous>\n"
msgstr "" msgstr ""
#: cg_print.c:570 #: cg_print.c:574
msgid "" msgid ""
"Index by function name\n" "Index by function name\n"
"\n" "\n"
msgstr "" msgstr ""
#: cg_print.c:627 cg_print.c:636 #: cg_print.c:631 cg_print.c:640
#, c-format #, c-format
msgid "<cycle %d>" msgid "<cycle %d>"
msgstr "" msgstr ""
#: corefile.c:61 #: corefile.c:64
#, c-format #, c-format
msgid "%s: could not open %s.\n" msgid "%s: could not open %s.\n"
msgstr "" msgstr ""
#: corefile.c:75 corefile.c:109 #: corefile.c:78 corefile.c:112
#, c-format #, c-format
msgid "%s: unable to parse mapping file %s.\n" msgid "%s: unable to parse mapping file %s.\n"
msgstr "" msgstr ""
#: corefile.c:151 #: corefile.c:154
#, c-format #, c-format
msgid "%s: %s: not in a.out format\n" msgid "%s: %s: not in a.out format\n"
msgstr "" msgstr ""
#: corefile.c:162 #: corefile.c:165
#, c-format #, c-format
msgid "%s: can't find .text section in %s\n" msgid "%s: can't find .text section in %s\n"
msgstr "" msgstr ""
#: corefile.c:220 #: corefile.c:223
#, c-format #, c-format
msgid "%s: ran out room for %lu bytes of text space\n" msgid "%s: ran out room for %lu bytes of text space\n"
msgstr "" msgstr ""
#: corefile.c:234 #: corefile.c:237
#, c-format #, c-format
msgid "%s: can't do -c\n" msgid "%s: can't do -c\n"
msgstr "" msgstr ""
#: corefile.c:265 #: corefile.c:272
#, c-format #, c-format
msgid "%s: -c not supported on architecture %s\n" msgid "%s: -c not supported on architecture %s\n"
msgstr "" msgstr ""
#: corefile.c:432 #: corefile.c:439
#, c-format #, c-format
msgid "%s: file `%s' has no symbols\n" msgid "%s: file `%s' has no symbols\n"
msgstr "" msgstr ""
#: corefile.c:732 #: corefile.c:739
#, c-format #, c-format
msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n" msgid "%s: somebody miscounted: ltab.len=%d instead of %ld\n"
msgstr "" msgstr ""
#: gmon_io.c:59 gmon_io.c:106 #: gmon_io.c:83 gmon_io.c:137 gmon_io.c:188 gmon_io.c:216 gmon_io.c:386
#: gmon_io.c:413 gmon_io.c:609 gmon_io.c:634
#, c-format #, c-format
msgid "%s: GMON_PTR_SIZE has unexpected value of %u\n" msgid "%s: bits per address has unexpected value of %u\n"
msgstr "" msgstr ""
#: gmon_io.c:154 gmon_io.c:172 #: gmon_io.c:252 gmon_io.c:347
#, c-format
msgid "%s: bfd_vma has unexpected size of %ld bytes\n"
msgstr ""
#: gmon_io.c:207 gmon_io.c:299
#, c-format #, c-format
msgid "%s: file too short to be a gmon file\n" msgid "%s: file too short to be a gmon file\n"
msgstr "" msgstr ""
#: gmon_io.c:217 gmon_io.c:333 #: gmon_io.c:262 gmon_io.c:396
#, c-format #, c-format
msgid "%s: file `%s' has bad magic cookie\n" msgid "%s: file `%s' has bad magic cookie\n"
msgstr "" msgstr ""
#: gmon_io.c:228 #: gmon_io.c:273
#, c-format #, c-format
msgid "%s: file `%s' has unsupported version %d\n" msgid "%s: file `%s' has unsupported version %d\n"
msgstr "" msgstr ""
#: gmon_io.c:258 #: gmon_io.c:303
#, c-format #, c-format
msgid "%s: %s: found bad tag %d (file corrupted?)\n" msgid "%s: %s: found bad tag %d (file corrupted?)\n"
msgstr "" msgstr ""
#: gmon_io.c:321 #: gmon_io.c:369
#, c-format #, c-format
msgid "%s: profiling rate incompatible with first gmon file\n" msgid "%s: profiling rate incompatible with first gmon file\n"
msgstr "" msgstr ""
#: gmon_io.c:350 #: gmon_io.c:429
#, c-format #, c-format
msgid "%s: incompatible with first gmon file\n" msgid "%s: incompatible with first gmon file\n"
msgstr "" msgstr ""
#: gmon_io.c:378 #: gmon_io.c:457
#, c-format #, c-format
msgid "%s: file '%s' does not appear to be in gmon.out format\n" msgid "%s: file '%s' does not appear to be in gmon.out format\n"
msgstr "" msgstr ""
#: gmon_io.c:399 #: gmon_io.c:478
#, c-format #, c-format
msgid "%s: unexpected EOF after reading %d/%d bins\n" msgid "%s: unexpected EOF after reading %d/%d bins\n"
msgstr "" msgstr ""
#: gmon_io.c:435 #: gmon_io.c:511
msgid "time is in ticks, not seconds\n" msgid "time is in ticks, not seconds\n"
msgstr "" msgstr ""
#: gmon_io.c:441 gmon_io.c:578 #: gmon_io.c:517 gmon_io.c:704
#, c-format #, c-format
msgid "%s: don't know how to deal with file format %d\n" msgid "%s: don't know how to deal with file format %d\n"
msgstr "" msgstr ""
#: gmon_io.c:448 #: gmon_io.c:524
#, c-format #, c-format
msgid "File `%s' (version %d) contains:\n" msgid "File `%s' (version %d) contains:\n"
msgstr "" msgstr ""
#: gmon_io.c:451 #: gmon_io.c:527
#, c-format #, c-format
msgid "\t%d histogram record\n" msgid "\t%d histogram record\n"
msgstr "" msgstr ""
#: gmon_io.c:452 #: gmon_io.c:528
#, c-format #, c-format
msgid "\t%d histogram records\n" msgid "\t%d histogram records\n"
msgstr "" msgstr ""
#: gmon_io.c:454 #: gmon_io.c:530
#, c-format #, c-format
msgid "\t%d call-graph record\n" msgid "\t%d call-graph record\n"
msgstr "" msgstr ""
#: gmon_io.c:455 #: gmon_io.c:531
#, c-format #, c-format
msgid "\t%d call-graph records\n" msgid "\t%d call-graph records\n"
msgstr "" msgstr ""
#: gmon_io.c:457 #: gmon_io.c:533
#, c-format #, c-format
msgid "\t%d basic-block count record\n" msgid "\t%d basic-block count record\n"
msgstr "" msgstr ""
#: gmon_io.c:458 #: gmon_io.c:534
#, c-format #, c-format
msgid "\t%d basic-block count records\n" msgid "\t%d basic-block count records\n"
msgstr "" msgstr ""
#: gprof.c:145 #: gprof.c:147
#, c-format #, c-format
msgid "" msgid ""
"Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n" "Usage: %s [-[abcDhilLsTvwxyz]] [-[ACeEfFJnNOpPqQZ][name]] [-I dirs]\n"
@ -359,119 +355,119 @@ msgid ""
"\t[image-file] [profile-file...]\n" "\t[image-file] [profile-file...]\n"
msgstr "" msgstr ""
#: gprof.c:161 #: gprof.c:163
#, c-format #, c-format
msgid "Report bugs to %s\n" msgid "Report bugs to %s\n"
msgstr "" msgstr ""
#: gprof.c:233 #: gprof.c:235
#, c-format #, c-format
msgid "%s: debugging not supported; -d ignored\n" msgid "%s: debugging not supported; -d ignored\n"
msgstr "" msgstr ""
#: gprof.c:313 #: gprof.c:315
#, c-format #, c-format
msgid "%s: unknown file format %s\n" msgid "%s: unknown file format %s\n"
msgstr "" msgstr ""
#. This output is intended to follow the GNU standards document. #. This output is intended to follow the GNU standards document.
#: gprof.c:397 #: gprof.c:399
#, c-format #, c-format
msgid "GNU gprof %s\n" msgid "GNU gprof %s\n"
msgstr "" msgstr ""
#: gprof.c:398 #: gprof.c:400
msgid "" msgid ""
"Based on BSD gprof, copyright 1983 Regents of the University of California.\n" "Based on BSD gprof, copyright 1983 Regents of the University of California.\n"
msgstr "" msgstr ""
#: gprof.c:399 #: gprof.c:401
msgid "" msgid ""
"This program is free software. This program has absolutely no warranty.\n" "This program is free software. This program has absolutely no warranty.\n"
msgstr "" msgstr ""
#: gprof.c:440 #: gprof.c:442
#, c-format #, c-format
msgid "%s: unknown demangling style `%s'\n" msgid "%s: unknown demangling style `%s'\n"
msgstr "" msgstr ""
#: gprof.c:460 #: gprof.c:462
#, c-format #, c-format
msgid "" msgid ""
"%s: Only one of --function-ordering and --file-ordering may be specified.\n" "%s: Only one of --function-ordering and --file-ordering may be specified.\n"
msgstr "" msgstr ""
#: gprof.c:560 #: gprof.c:562
#, c-format #, c-format
msgid "%s: sorry, file format `prof' is not yet supported\n" msgid "%s: sorry, file format `prof' is not yet supported\n"
msgstr "" msgstr ""
#: gprof.c:621 #: gprof.c:623
#, c-format #, c-format
msgid "%s: gmon.out file is missing histogram\n" msgid "%s: gmon.out file is missing histogram\n"
msgstr "" msgstr ""
#: gprof.c:628 #: gprof.c:630
#, c-format #, c-format
msgid "%s: gmon.out file is missing call-graph data\n" msgid "%s: gmon.out file is missing call-graph data\n"
msgstr "" msgstr ""
#: hist.c:121 #: hist.c:122
#, c-format #, c-format
msgid "%s: `%s' is incompatible with first gmon file\n" msgid "%s: `%s' is incompatible with first gmon file\n"
msgstr "" msgstr ""
#: hist.c:137 #: hist.c:138
#, c-format #, c-format
msgid "%s: %s: unexpected EOF after reading %d of %d samples\n" msgid "%s: %s: unexpected EOF after reading %d of %d samples\n"
msgstr "" msgstr ""
#: hist.c:350 #: hist.c:351
#, c-format #, c-format
msgid "%c%c/call" msgid "%c%c/call"
msgstr "" msgstr ""
#: hist.c:358 #: hist.c:359
#, c-format #, c-format
msgid "" msgid ""
" for %.2f%% of %.2f %s\n" " for %.2f%% of %.2f %s\n"
"\n" "\n"
msgstr "" msgstr ""
#: hist.c:364 #: hist.c:365
#, c-format #, c-format
msgid "" msgid ""
"\n" "\n"
"Each sample counts as %g %s.\n" "Each sample counts as %g %s.\n"
msgstr "" msgstr ""
#: hist.c:369 #: hist.c:370
msgid "" msgid ""
" no time accumulated\n" " no time accumulated\n"
"\n" "\n"
msgstr "" msgstr ""
#: hist.c:376 #: hist.c:377
msgid "cumulative" msgid "cumulative"
msgstr "" msgstr ""
#: hist.c:376 #: hist.c:377
msgid "self " msgid "self "
msgstr "" msgstr ""
#: hist.c:376 #: hist.c:377
msgid "total " msgid "total "
msgstr "" msgstr ""
#: hist.c:379 #: hist.c:380
msgid "time" msgid "time"
msgstr "" msgstr ""
#: hist.c:379 #: hist.c:380
msgid "calls" msgid "calls"
msgstr "" msgstr ""
#: hist.c:468 #: hist.c:469
msgid "" msgid ""
"\n" "\n"
"\n" "\n"
@ -479,10 +475,20 @@ msgid ""
"flat profile:\n" "flat profile:\n"
msgstr "" msgstr ""
#: hist.c:474 #: hist.c:475
msgid "Flat profile:\n" msgid "Flat profile:\n"
msgstr "" msgstr ""
#: mips.c:75
#, c-format
msgid "[find_call] 0x%lx: jal"
msgstr ""
#: mips.c:100
#, c-format
msgid "[find_call] 0x%lx: jalr\n"
msgstr ""
#: source.c:163 #: source.c:163
#, c-format #, c-format
msgid "%s: could not locate `%s'\n" msgid "%s: could not locate `%s'\n"
@ -493,7 +499,7 @@ msgstr ""
msgid "*** File %s:\n" msgid "*** File %s:\n"
msgstr "" msgstr ""
#: utils.c:94 #: utils.c:96
#, c-format #, c-format
msgid " <cycle %d>" msgid " <cycle %d>"
msgstr "" msgstr ""