2009-06-16  Homer Xing  <homer.xing@yahoo.com>

	* corefile.c (cmp_symbol_map): New function.
	(read_function_mappins): Use qsort to sort the symbols.
	(search_mapped_symbol): New function.
	(core_create_function_syms): Use bsearch to find symbols.
	* corefile.h (struct function_map): Add new bit-field: is_first.
	* cg_print.c (cmp_symbol_map): New function.
	(cg_print_file_ordering): Sort the symbol map.

2009-06-15  Homer Xing  <homer.xing@yahoo.com>

	* corefile.c (core_create_syms_from): Use BFD_VMA_FMT when
	scanning in an address.

2009-06-12  Homer Xing  <homer.xing@yahoo.com>

	* corefile.c (num_of_syms_in): New function - computes the number
	of symbols in a given file.
	(core_create_syms_from): New function - populates a symbol table
	from the symbols found in a specified file.
	* corefile.h: Prototype core_create_syms_from.
	* gprof.c (long_options): Add --external-symbol-table.
	(usage): Mention it.
	(main): Initiailize external_symbol_table from
	--external-symbol-table option.  If set use it.
	* gprof.texi: Document the new option.

2009-06-04  Alan Modra  <amodra@bigpond.net.au>

	* dep-in.sed: Don't use \n in replacement part of s command.
	* Makefile.am (DEP1): LC_ALL for uniq.
	* Makefile.in: Regenerate.

2009-05-26  Nick Clifton  <nickc@redhat.com>

	* po/id.po: Updated Indonesian translation.
	* po/gprof.pot: Updated template file.

2009-05-26  Alan Modra  <amodra@bigpond.net.au>

	* dep-in.sed: Output one filename per line with all lines having
	continuation backslash.  Prefix first line with "A", following
	lines with "B".
	* Makefile.am (DEP): Don't use dep.sed here.
	(DEP1): Run $MKDEP on single files, use dep.sed here on dependencies,
	sort and uniq.
	* Makefile.in: Regenerate.

2009-05-22  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-04-15  Kazu Hirata  <kazu@codesourcery.com>

	* gprof.h: Include gconfig.h.  #undef PACKAGE.

2009-04-09  Philippe Biondi  <phil@secdev.org>

	* corefile.c (core_create_function_syms): Initialise a symbol's
	is_func field based on the setting of the BSF_FUNCTION flag.

2009-03-06  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2009-03-03  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2009-02-12  Ken Werner  <ken.werner@de.ibm.com>

        * corefile.c (core_create_function_syms): Remove "<locore>" and 
        "<hicore>" sentinels.
        * gprof.c: Likewise.
        * cg_print.c (cg_print_function_ordering): Likewise.
        * alpha.c (alpha_find_call): Add check for return value of sym_lookup.
        * mips.c (mips_find_call): Likewise.
        * sparc.c (sparc_find_call): Likewise.
        * tahoe.c (tahoe_find_call): Likewise.
        * vax.c (vax_find_call): Likewise.

2009-02-03  Carlos O'Donell  <carlos@codesourcery.com>

	* configure.in: AC_SUBST pdfdir.
	* Makefile.am: Add install-pdf, install-pdf-am,
	and install-pdf-recursive targets. Define pdf__strip_dir.
	* po/Make-in: Add install-pdf target.
	* configure: Regenerate.
	* Makefile.in: Regenerate.

2009-01-03  Nick Clifton  <nickc@redhat.com>

	PR 7099
	* gprof.texi (Compiling): Mention the need for using
	-static-libgcc on shared library systems.

2009-01-02  Nick Clifton  <nickc@redhat.com>

	* po/id.po: Updated Indonesian translation.

2008-12-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2008-11-19  Nick Clifton  <nickc@redhat.com>

	* fdl.texi: New file.
	* gprof.texi: Change license to v1.3.

2008-09-29  Peter O'Gorman  <pogma@thewrittenword.com>
	    Steve Ellcey  <sje@cup.hp.com>

	* configure: Regenerate for new libtool.
	* aclocal.m4: Ditto.
	* Makefile.in: Ditto.

2008-09-29  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated Vietnamese translation.

2008-09-11  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* configure.in: Call AC_SYS_LARGEFILE.
	* gconfig.in: Regenerate.
	* configure: Regenerate.

2008-09-11  Alan Modra  <amodra@bigpond.net.au>

	* po/ro.po: New file.

2008-08-25  Alan Modra  <amodra@bigpond.net.au>

	* gmon_io.h: Don't include sysdep.h here.
	(O_BINARY, SET_BINARY): Don't define here.
	* gmon_io.c: Include "binary-io.h".
	(gmon_out_read): Remove #ifdef SET_BINARY.
	* Makefile.am: Run "make dep-am"
	* Makefile.in: Regenerate.

2008-08-24  Alan Modra  <amodra@bigpond.net.au>

	* configure.in: Update a number of obsolete autoconf macros.

2008-08-15  Alan Modra  <amodra@bigpond.net.au>

	PR 6526
	* configure.in: Invoke AC_USE_SYSTEM_EXTENSIONS.
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* gconfig.in: Regenerate.

2008-08-05  Brian Dessent  <brian@dessent.net>

	* gmon_io.c (gmon_out_read): When reading old format gmon.out,
	set num_histograms and hist_scale.

2008-08-04  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (POTFILES.in): Set LC_ALL=C.
	* Makefile.in: Regenerate.

2008-07-30  Alan Modra  <amodra@bigpond.net.au>

	* corefile.c, symtab.c: Silence gcc warnings.

2008-06-19  Andreas Schwab  <schwab@suse.de>

	* basic_blocks.c: Always include "gprof.h" first.
	* cg_arcs.c: Likewise.
	* cg_dfn.c: Likewise.
	* cg_print.c: Likewise.
	* corefile.c: Likewise.
	* gprof.c: Likewise.
	* hist.c: Likewise.
	* search_list.c: Likewise.
	* sym_ids.c: Likewise.
	* utils.c: Likewise.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2008-06-04  Nick Clifton  <nickc@redhat.com>

	* po/nl.po: New file: Dutch translation.
	* configure.in (ALL_LINGUAS): Add nl.
	* configure: Regenerate.

2008-05-14  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.in: Regenerate.

2008-04-23  Paolo Bonzini  <bonzini@gnu.org>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2008-03-31  Nick Clifton  <nickc@redhat.com>

	* po/fr.po: Updated French translation.

2008-03-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.
	* configure: Likewise.
	* Makefile.in: Likewise.

2008-03-13  Alan Modra  <amodra@bigpond.net.au>

	* configure: Regenerate.

2008-02-06  Nick Clifton  <nickc@redhat.com>

	* po/ms.po: Updated Malasian translation.

2008-02-04  H.J. Lu  <hongjiu.lu@intel.com>

	PR 5715
	* configure: Regenerated.

2007-10-24  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.in: Move AM_PROG_LIBTOOL after AC_GNU_SOURCE.
	* configure: Regenerated.

2007-10-24  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am (INCLUDES): Remove -D_GNU_SOURCE.
	* configure.in: Invoke AC_GNU_SOURCE.
	* Makefile.in: Regenerate.
	* configure: Regenerate.
	* gconfig.in: Regenerate.

2007-10-12  Michael Haubenwallner  <haubi@gentoo.org>

	PR gprof/5147
	* configure.in: Add check for fabs() being in libm.
	* configure: Regenerate.

2007-09-25  Robert Norton  <rnorton@broadcom.com>

	* cg_print.c (sort_members): Include the final member on the list
	in the sort.

2007-09-17  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2007-08-30  Nick Clifton  <nickc@redhat.com>

	* po/fi.po: Updated Finnish translation.

2007-08-24  Daniel Jacobowitz  <dan@codesourcery.com>

	* po/sv.po: Updated Swedish translation.

2007-08-17  Alan Modra  <amodra@bigpond.net.au>

	* po/Make-in: Add --msgid-bugs-address to xgettext invocation.

2007-08-12  Matthias Klose  <doko@ubuntu.com>

	* Makefile.am (AM_MAKEINFOFLAGS, TEXI2DVI): Include
	$(top_srcdir)/../../bfd/doc.
	* Makefile.in: Regenerate.

2007-08-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.in (ALL_LINGUAS): Add fi.
	* po/fi.po: New file.
	* configure: Regenerated.

2007-08-10  Nick Clifton  <nickc@redhat.com>

	* po/ga.po: Updated Irish translation.
	* po/vi.po: Updated Vietnamese translation.

2007-08-07  Nick Clifton  <nickc@redhat.com>

	* po/de.po: Updated German translation.

2007-07-12  Nick Clifton  <nickc@redhat.com>

	* po/vi.po: Updated translation.

2007-07-12  Kai Tietz   <kai.tietz@onevision.com>

	* cg_print.c: Force cast of sizeof to be a long.
	* hist.c: Likewise.

2007-07-06  Nick Clifton  <nickc@redhat.com>

	* basic_blocks.c: Update copyright notice to refer to GPLv3.
	* basic_blocks.h, bbconv.pl, bb_exit_func.c, call_graph.c,
	call_graph.h, cg_print.c, cg_print.h, corefile.c, corefile.h,
	flat_bl.m, gmon_io.c, gmon_io.h, gmon_out.h, hist.c, hist.h,
	search_list.c, search_list.h, source.c, source.h, sym_ids.c,
	sym_ids.h, symtab.c, symtab.h: Likewise.

2007-07-05  Tristan Gingold  <gingold@adacore.com>

	* corefile.c (core_sym_class): Do not discard nested subprograms.
	* Makefile.am (corefile.o): Add dependency upon safe-ctype.h.
	* Makefile.in: Regenerate.

2007-07-02  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.
	* aclocal.m4: Regenerate.
	* gconfig.in: Regenerate.
	* po/gprof.pot: Regenerate.

2007-06-30  H.J. Lu  <hongjiu.lu@intel.com>

	* aclocal.m4: Regenerated.
	* Makefile.in: Likewise.

2007-06-20  Nick Clifton  <nickc@redhat.com>

	* gprof.texi: Refer readers to the gcov tool if they want
	line-by-line profiling.

2007-06-14  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (ACLOCAL_AMFLAGS): Add -I ../config -I ../bfd.

	* acinclude.m4: Removed.

	* Makefile.in: Regenerated.
	* aclocal.m4: Likewise.
	* configure: Likewise.

2007-05-24  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.in: Regnerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

2007-05-24  H.J. Lu  <hongjiu.lu@intel.com>

	* gprof.texi: Remove orphaned "@end ignore".

2007-05-22  Nick Clifton  <nickc@redhat.com>

	* gprof.texi: Use @copying around the copyright notice.

2007-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* hist.c (scale_and_align_entries): Avoid C99 feature.

2007-04-19  Alan Modra  <amodra@bigpond.net.au>

	* corefile.c (core_create_function_syms, core_create_line_syms): Don't
	set discard_underscores.
	* gprof.c (discard_underscores): Delete.
	* gprof.h (discard_underscores): Delete.
	* sym_ids.c (match): Use bfd_get_symbol_leading_char to check for
	leading underscores.
	* utils.c (print_name_only): Call bfd_demangle rather than
	cplus_demangle.
	* Makefile.am: Run "make dep-am".
	* Makefile.in: Regenerate.

2007-04-14  Steve Ellcey  <sje@cup.hp.com>

	* Makefile.am: Add ACLOCAL_AMFLAGS.
	* Makefile.in: Regenerate.

2007-04-10  Vladimir Prus  <vladimir@codesourcery.com>

	* hist.h (struct histogram)
	(histograms, num_histograms): New.
	* hist.c (find_histogram, find_histogram_for_pc)
	(read_histogram_header): New.
	(s_lowpc, s_highpc, lowpc, highpc, hist_num_bins)
	(hist_sample): Remove.
	(hist_read_rec): Use the above, and handle multiple
	histogram records with disjoint address ranges.
	(hist_write_hist): Support several histogram records.
	(scale_and_align_entries): Adjust for multiple histograms.
	(hist_assign_samples_1): New.
	(hist_assign_samples): Use the above.
	(hist_clip_symbol_address): New.
	* hist.h (hist_check_address)
	(hist_clip_symbol_address): Declare.
	* gmon_io.c (gmon_out_read, gmon_out_write): Adjust handling
	of legacy format for multiple histogram changes.
	* corefile.c (find_call): Check for core_text_space and
	clip symbol address range here.
	* vax.c	(vax_find_call): Don't check for
	core_text_space, or clip the symbol's address range here.
	Use hist_check_address to check call's target address.
	* sparc.c: Likewise.
	* tahoe.c: Likewise.
	* i386.c: Likewise.
	* mips.c: Likewise. Also use core_text_sect->vma as the base
	address for code accesses, just like other machine-specific
	routines do.
	* gprof.texi: Adjust for the new logic.

2007-03-28  Richard Sandiford  <richard@codesourcery.com>
	    Phil Edwards  <phil@codesourcery.com>

	* gprof.texi: Put the contents after the title page rather
	than at the end of the document.

2007-03-22  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.am (TEXI2POD): Include $(AM_MAKEINFOFLAGS).
	(AM_MAKEINFOFLAGS, TEXI2DVI): Define with -I ../bfd/doc.
	* Makefile.in: Regenerate.
	* gprof.texi: Include bfdver.texi.  Report both VERSION_PACKAGE
	and VERSION.

2007-03-15  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.am (REPORT_BUGS_TO): Removed.
	(INCLUDES): Remove -DREPORT_BUGS_TO.
	* Makefile.in: Regenerated.

	* configure.in (--with-bugurl): Removed.
	* configure: Regenerated.

2007-03-01  Joseph Myers  <joseph@codesourcery.com>

	* gprof.c: Include bfdver.h
	(main): Use BFD_VERSION_STRING for version number and package
	name.
	* Makefile.am (PKGVERSION): Remove.
	(INCLUDES): Update.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* configure.in (PKGVERSION): Remove.
	* configure: Regenerate.

2007-02-17  Mark Mitchell  <mark@codesourcery.com>
	    Nathan Sidwell  <nathan@codesourcery.com>
	    Vladimir Prus  <vladimir@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* configure.in (--with-pkgversion, --with-bugurl): New options.
	* configure: Regenerate.
	* Makefile.am (PKGVERSION, REPORT_BUGS_TO): Define.
	(INCLUDES): Define PKGVERSION and REPORT_BUGS_TO.
	Regenerate dependencies.
	* Makefile.in: Regenerate.
	* gprof.c (usage): Don't print empty REPORT_BUGS_TO.
	(main): Include PKGVERSION in version output.
	* gprof.h: Remove include of bin-bugs.h.

2007-01-16  Ben Elliston  <bje@au.ibm.com>

	* corefile.c (parse_error): New function.
	(read_function_mappings): Check calls to fscanf and report any
	errors in parsing the mapping file.

2006-12-12  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.am (gprof_TEXINFOS): Set.
	(gprof.info gprof.dvi gprof.html): Delete rule.
	* Makefile.in: Regenerated.

2006-12-11  Daniel Jacobowitz  <dan@codesourcery.com>

	* configure.in: Define GENINSRC_NEVER.
	* doc/Makefile.am (gprof.info): Remove srcdir prefix.
	(MAINTAINERCLEANFILES): Add info file.
	(DISTCLEANFILES): Pretend to add info file.
	* po/Make-in (.po.gmo): Put gmo files in objdir.
	* configure, Makefile.in: Regenerated.

2006-11-27  Nick Clifton  <nickc@redhat.com>

	* po/ms.po: Updated Malay translation.

2006-11-22  Nick Clifton  <nickc@redhat.com>

	* configure.in (LINGUAS): Add ms.
	* po/ms.po: New Malay translation.

2006-10-17  Bob Wilson  <bob.wilson@acm.org>

	* gprof.c (main): Fix option string for -r and -R.

2006-10-16  Bob Wilson  <bob.wilson@acm.org>

	* gprof.texi (Analysis Options): Argument for -n/-N is mandatory.

2006-10-16  Bob Wilson  <bob.wilson@acm.org>

	* gprof.c (main): Fix option string for -C, -n and -N.

2006-09-26  Thiemo Seufer  <ths@networkno.de>

	* gprof.texi: Fix install failure.

2006-09-19  Bob Wilson  <bob.wilson@acm.org>

	* gprof.texi: Use TeX-style quotes and em-dashes consistently.
	Specify section names in cross references.  Fix typos.
	Omit "next", "previous" and "up" fields from @node lines.
	(SYNOPSIS): Show map_file argument to --file-ordering.
	(Compiling): Remove extra, truncated lines from example output.
	(Cycles): Fix references to "called" field.
	(Internals): Allow hyphenation between file:function names.
	(GNU Free Documentation License): Update formatting to match fdl.texi.

2006-07-24  Ralk Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gprof.texi: Fix some typos.

2006-06-07  Joseph S. Myers  <joseph@codesourcery.com>

	* po/Make-in (pdf, ps): New dummy targets.

2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>

	* po/Make-in (top_builddir): Define.

2006-06-05  Alan Modra  <amodra@bigpond.net.au>

	* Makefile.in: Regenerate.
	* gconfig.in: Regenerate.

2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>

	* Makefile.am: Replace INTLLIBS and INTLDEPS with LIBINTL
	and LIBINTL_DEP everywhere.
	(INCLUDES): Use @INCINTL@.
	* acinclude.m4: Include new gettext macros.
	* configure.in: Use ZW_GNU_GETTEXT_SISTER_DIR and AM_PO_SUBDIRS.
	Remove local code for po/Makefile.
	* Makefile.in, aclocal.m4, configure: Regenerated.

2006-05-30  Nick Clifton  <nickc@redhat.com>

	* po/es.po: Updated Spanish translation.

2006-05-02  James E Wilson  <wilson@specifix.com>

	* gprof.c (main): When setting default output_style, add separate
	checks for INPUT_HISTOGRAM and INPUT_CALL_GRAPH.

2006-04-25  Masaki Muranaka  <monaka@monami-software.com>

	PR 2587
	* Makefile.am: Add empty rule for .m -> .o build in order to work
	around bug in gmake shipped by Apple.
	* Makefile.in: Regenerate.

2006-04-19  Alan Modra  <amodra@bigpond.net.au>

	* configure: Regenerate.

2006-04-06  Carlos O'Donell  <carlos@codesourcery.com>

	* po/Make-in: Add install-html target.
	* Makefile.am: Add install-html, install-html-am and
	install-html-recursive targets.
	* Makefile.in: Regenerate.
	* configure.in: AC_SUBST datarootdir, docdir, htmldir.
	* configure: Regenerate.

2006-03-21  Ben Elliston  <bje@au.ibm.com>

	* corefile.c (core_init): Report that the executable is not in the
	expected executable format rather than "a.out" format.

2006-03-09  Nick Clifton  <nickc@redhat.com>

	* po/sv.po: Updated Swedish translation.

2006-02-27  Carlos O'Donell  <carlos@codesourcery.com>

	* po/Make-in: Add html target.

For older changes see ChangeLog-2005

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
