gcc/libgcc
Nathan Sidwell 5366b18679 libgcov.c (struct gcov_fn_buffer): New struct.
libgcc/
	* libgcov.c (struct gcov_fn_buffer): New struct.
	(buffer_fn_data): New helper.
	(gcov_exit): Rework for new gcov data structures.

	gcc/
	* gcov.c (object_summary): Replace with ...
	(object_runs): ... this.
	(process_file): Remove functions with no data.
	(generate_results): Ignore files with no lines.
	(release_function): New helper, broken out of ...
	(release_structures): ... here.  Use it.
	(read_count_file): Adjust for new data file format.
	(output_lines): Use object_runs.
	* gcov-io.h (GCOV_TAG_OBJECT_SUMMARY): Obsolete.
	(struct gcov_ctr_info): Move definition.
	(struct gcov_fn_info): Add key field, use gcov_ctr_info for
	trailing array.
	(struct gcov_info): Add merge function array, remove mask and
	counts.  Trailing array is array of pointers to function info.
	* coverage.c (struct function_list): Replace counter numbers with
	counter arrays.  Add fndecl field.  GTYify.
	(counts_entry): Remove chain workspace.
	(functions_head): GTYify.
	(prg_n_ctrs): Remove.
	(fn_v_ctrs): New.
	(tree_ctr_tables): Remove.
	(read_counts_file): Cope with blank entries and expect program
	summaries before functions.  Don't warn on missing entries.
	(coverage_counter_alloc): Allocate individual function arrays.
	(tree_coverage_counter_ref, tree_coverage_counter_addr): Adjust
	for individual function arrays.
	(coverage_end_function): GTYify function list object. Finalize
	function's counter arrays.
	(build_var): New.  Create a counter-related variable with
	appropriate linkage.
	(build_fn_info_type): Adjust for new runtime structure.
	(build_fn_info_value): Rename to ...
	(build_fn_info): ... here.  Build new format data.
	(build_ctr_info_type, build_ctr_info_value): Remove.
	(build_info_type): New. Build new format data structure.
	(build_info): Adjust for new format data.
	(create_coverage): Likewise.
	* gcov-dump.c (tag_function): Recognize placeholders.

	gcc/testsuite/
	* gcc.dg/profile-dir-1.c: Adjust final scan.
	* gcc.dg/profile-dir-2.c: Adjust final scan.
	* gcc.dg/profile-dir-3.c: Adjust final scan.
	* gcc.misc-tests/gcov.exp: Adjust regexp.
	* gcc.misc-tests/gcov-12.c: New.
	* gcc.misc-tests/gcov-13.c: New.
	* gcc.misc-tests/gcovpart-13b.c: New.
	* gcc.misc-tests/gcov-14.c: New.

From-SVN: r181105
2011-11-07 18:14:46 +00:00
..
config re PR target/49313 (Inefficient libgcc implementations for avr) 2011-11-07 18:08:35 +00:00
soft-fp
ChangeLog libgcov.c (struct gcov_fn_buffer): New struct. 2011-11-07 18:14:46 +00:00
config.host Append to HOST_LIBGCC2_CFLAGS in libgcc 2011-11-07 17:14:32 +00:00
configure Return gthr-posix.h to libgcc (PR bootstrap/50982) 2011-11-07 16:34:31 +00:00
configure.ac Return gthr-posix.h to libgcc (PR bootstrap/50982) 2011-11-07 16:34:31 +00:00
crtstuff.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
dfp-bit.c
dfp-bit.h Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
divmod.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
empty.mk
emutls.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c netbsd.h (ENABLE_EXECUTE_STACK): Remove. 2011-06-09 12:30:46 +00:00
fixed-bit.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
fixed-bit.h
fixed-obj.mk
floatunsidf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsisf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsitf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
floatunsixf.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
fp-bit.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
fp-bit.h
gbl-ctors.h Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
gen-fixed.sh
generic-morestack-thread.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
generic-morestack.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
generic-morestack.h
gstdint.h
gthr-posix.h Return gthr-posix.h to libgcc (PR bootstrap/50982) 2011-11-07 16:34:31 +00:00
gthr-single.h Move gthr to toplevel libgcc 2011-11-02 15:28:43 +00:00
gthr.h Move gthr to toplevel libgcc 2011-11-02 15:28:43 +00:00
libgcc2.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
libgcc2.h Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
libgcc-std.ver.in
libgcov.c libgcov.c (struct gcov_fn_buffer): New struct. 2011-11-07 18:14:46 +00:00
longlong.h Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
Makefile.in re PR other/50991 (crtstuff.c:65:23: fatal error: libgcc_tm.h: No such file or directory) 2011-11-06 19:24:19 +00:00
memcmp.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memcpy.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memmove.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
memset.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
mkheader.sh Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
mkmap-flat.awk Move shlib support to toplevel libgcc 2011-11-02 10:49:46 +00:00
mkmap-symver.awk
shared-object.mk
siditi-object.mk Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
static-object.mk
sync.c
udivmod.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
udivmodsi4.c Move libgcc2 to toplevel libgcc 2011-11-02 15:23:48 +00:00
unwind-arm-common.inc
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-dip.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind-dw2-fde.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind-dw2-fde.h
unwind-dw2.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-sjlj.c Move libgcc_tm_file to toplevel libgcc 2011-11-02 15:26:35 +00:00
unwind.inc