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
Makefile.in The patch re-factors libgcov.c to make it better modulelized. 2013-11-13 00:24:49 +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 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
dfp-bit.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
dfp-bit.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
divmod.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
empty.mk
emutls.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
enable-execute-stack-empty.c
enable-execute-stack-mprotect.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fixed-bit.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fixed-bit.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
fixed-obj.mk
floatunsidf.c
floatunsisf.c
floatunsitf.c
floatunsixf.c
fp-bit.c fp-bit.c (unpack_d, pack_d): Properly preserve and restore a NaN's payload. 2013-05-06 10:23:02 +02:00
fp-bit.h fp-bit.c (unpack_d, pack_d): Properly preserve and restore a NaN's payload. 2013-05-06 10:23:02 +02:00
gbl-ctors.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gen-fixed.sh
generic-morestack-thread.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
generic-morestack.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
generic-morestack.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gstdint.h
gthr-posix.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gthr-single.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
gthr.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc-std.ver.in Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
libgcc2.c libgcc2.c: Don't include <limits.h>. 2013-07-15 18:33:06 +00:00
libgcc2.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
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
memcmp.c
memcpy.c
memmove.c
memset.c
mkheader.sh Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
mkmap-flat.awk Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
mkmap-symver.awk Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
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 Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
udivmodsi4.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-arm-common.inc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-c.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-compat.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-compat.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde-compat.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde-dip.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2-fde.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-dw2.c re PR target/49146 (segv from libgcc_s when raising an exception, or unwinding stack with backtrace with ms_abi) 2013-05-17 08:27:37 -07:00
unwind-dw2.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-generic.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-pe.h Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-seh.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind-sjlj.c Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
unwind.inc Update copyright in libgcc. 2013-02-04 19:06:20 +00:00
vtv_end.c Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00
vtv_end_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
vtv_start_preinit.c Commit the vtable verification feature. 2013-08-06 20:38:59 -07:00