gcc/libgcc
Rong Xu d6d3f03341 The patch re-factors libgcov.c to make it better modulelized.
2013-11-12  Rong Xu  <xur@google.com>

The patch re-factors libgcov.c to make it better modulelized.
It contains two pieces of work:
1. break gcov_exit() into the following structure:
   gcov_exit()
      --> gcov_exit_compute_summary()
      --> allocate_filename_struct()
          for gi_ptr in gcov_list
            --> gcov_exit_dump_gcov()
                   --> gcov_exit_open_gcda_file()
                   --> gcov_exit_merge_gcda ()
                   --> gcov_exit_merge_summary ()
                   --> gcov_exit_write_gcda ()
2. split libgcov.c into the following files:
     libgcov-profiler.c
     libgcov-merge.c
     libgcov-interface.c
     libgcov-driver.c
       libgcov-driver-system.c (source included into libgcov-driver.c)

	* libgcc/libgcov.c: Delete as part of re-factoring.
	* gcc/gcov-io.h (__gcov_indirect_call_profiler): Add the decl to
        avoid warning.
	* libgcc/libgcov-interface.c (init_mx): Moved from libgcov.c.
	(init_mx_once): Ditto.
	(__gcov_flush): Ditto.
	(__gcov_reset): Ditto.
	(__gcov_dump): Ditto.
	(__gcov_fork): Ditto.
	(__gcov_execl): Ditto.
	(__gcov_execlp): Ditto.
	(__gcov_execle): Ditto.
	(__gcov_execv): Ditto.
	(__gcov_execvp): Ditto.
	(__gcov_execve): Ditto.
        * libgcc/libgcov-merge.c (__gcov_merge_time_profile): Moved from
        libgcov.c.
	(__gcov_merge_add): Ditto.
	(__gcov_merge_ior): Ditto.
	(__gcov_merge_single): Ditto.
	(__gcov_merge_delta): Ditto.
	* libgcc/libgcov-profiler.c 
	(__gcov_interval_profiler): Ditto.
	(__gcov_pow2_profiler): Ditto.
	(__gcov_one_value_profiler_body): Ditto.
	(__gcov_one_value_profiler): Ditto.
	(__gcov_indirect_call_profiler): Ditto.
	(__gcov_indirect_call_profiler_v2): Ditto.
	(__gcov_time_profiler): Ditto.
	(__gcov_average_profiler): Ditto.
	(__gcov_ior_profiler): Ditto.
	* libgcc/libgcov-driver.c (set_gcov_list): New.
	(get_gcov_dump_complete): Ditto.
	(set_gcov_dump_complete):Ditto.
	(reset_gcov_dump_complete):Ditto.
	(gcov_exit_compute_summary): New function split from gcov_exit().
	(gcov_exit_merge_gcda): Ditto.
	(gcov_exit_write_gcda): Ditto.
	(gcov_exit_merge_summary): Ditto.
	(gcov_exit_dump_gcov): Ditto.
	(struct gcov_fn_buffer): Moved from libgcov.c
	(struct gcov_summary_buffer): Ditto.
	(free_fn_data): Ditto.
	(buffer_fn_data): Ditto.
	(crc32_unsigned): Ditto.
	(gcov_version): Ditto.
	(gcov_histogram_insert): Ditto.
	(gcov_compute_histogram): Ditto.
	(gcov_exit): Ditto.
	(gcov_clear): Ditto.
	(__gcov_init): Ditto.
        (this_prg): Make it file scope static variable.
        (all_prg): Ditto.
        (crc32): Ditto.
        (gi_filename): Ditto.
        (fn_buffer): Ditto.
        (sum_buffer): Ditto.
        (struct gcov_filename_aux): New types to store auxiliary information
        for gi_filename.
	* libgcc/libgcov-driver-system.c (gcov_error): New utility function.
	(allocate_filename_struct): New function split from gcov_exit().
	(gcov_exit_open_gcda_file): Ditto.
	(create_file_directory): Moved from libgcov.c
	* libgcc/Makefile.in: Change to build newly added files.

From-SVN: r204730
2013-11-13 00:24:49 +00:00
..
config config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file. 2013-11-11 11:46:17 +00:00
soft-fp float128-cmp-invalid.c, [...]: New tests. 2013-11-06 22:46:39 +00:00
ChangeLog config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file. 2013-11-11 11:46:17 +00:00
config.host config.host (arm-wrs-vxworks): Replace arm/t-vxworks with arm/t-elf in tmake_file. 2013-11-11 11:46:17 +00:00
config.in
configure libgcc: check for fenv.h in dfp configure check 2013-11-08 11:18:27 +01:00
configure.ac libgcc: check for fenv.h in dfp configure check 2013-11-08 11:18:27 +01:00
crtstuff.c
dfp-bit.c
dfp-bit.h
divmod.c
empty.mk
emutls.c
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c
fixed-bit.c
fixed-bit.h
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c
fp-bit.h
gbl-ctors.h
gen-fixed.sh
generic-morestack-thread.c
generic-morestack.c
generic-morestack.h
gstdint.h
gthr-posix.h
gthr-single.h
gthr.h
libgcc2.c
libgcc2.h
libgcc-std.ver.in
libgcov-driver-system.c The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +00:00
libgcov-driver.c The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +00:00
libgcov-interface.c The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +00:00
libgcov-merge.c The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +00:00
libgcov-profiler.c The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +00:00
longlong.h For CRIS ports, switch to soft-fp. Improve arit.c and longlong.h. 2013-10-16 01:43:14 +00:00
Makefile.in The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +00:00
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh
mkmap-flat.awk
mkmap-symver.awk
shared-object.mk
siditi-object.mk
static-object.mk
sync.c tree-tailcall.c (find_tail_calls): Don't use tail-call recursion for built-in functions. 2013-10-15 18:24:30 +00:00
udivmod.c
udivmodsi4.c
unwind-arm-common.inc
unwind-c.c
unwind-compat.c
unwind-compat.h
unwind-dw2-fde-compat.c
unwind-dw2-fde-dip.c
unwind-dw2-fde.c
unwind-dw2-fde.h
unwind-dw2.c
unwind-dw2.h
unwind-generic.h
unwind-pe.h
unwind-seh.c
unwind-sjlj.c
unwind.inc
vtv_end_preinit.c Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
vtv_end.c Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
vtv_start_preinit.c Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
vtv_start.c Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00