aboutsummaryrefslogtreecommitdiff
path: root/gcc/libgcov.c
AgeCommit message (Collapse)AuthorFilesLines
2003-04-17gcov-dump.c (tag_summary): Remove max_sumJan Hubicka1-66/+71
* gcov-dump.c (tag_summary): Remove max_sum * gcov-io.h (gcov_summary, gcov_write_summary, gcov_read_summary): Kill max_sum. * libgcov.c (gcov_exit): Do one pass over the data. Make error message more verbose. From-SVN: r65758
2003-04-11Makefile.in (loop-init.o): Do not depend on gcov-io.h, gcov-iov.h.Nathan Sidwell1-86/+55
* Makefile.in (loop-init.o): Do not depend on gcov-io.h, gcov-iov.h. Simplify interface to gcov reading and writing. * gcov-io.h (gcov_file, gcov_position, gcov_length, gcov_buffer, gcov_alloc, gcov_modified, gcov_errored): Move into ... (struct gcov_var gcov_var): ... this static structure. (gcov_write_unsigned, gcov_write_counter, gcov_write_string): Return void. (gcov_read_unsigned, gcov_read_couter, gcov_read_string): Return read object. (gcov_read_bytes, gcov_write_bytes): Set error flag on error. (gcov_reserve_length): Remove. (gcov_write_tag): New. (gcov_write_length): Adjust. (gcov_read_summary, gcov_write_summary): Adjust. (gcov_eof, gcov_ok): Rename to ... (gcov_is_eof, gcov_is_error): ... here. Return error code. (gcov_save_position, gcov_resync): Rename to ... (gcov_position, gcov_seek): ... here. (gcov_skip, gcov_skip_string): Remove. (gcov_error): Remove. (gcov_open, gcov_close): Adjust. * gcov.c (find_source): Take const char *, copy it on allocation. (read_graph_file): Adjust. (read_count_file): Adjust. * libgcov.c (gcov_exit): Adjust. * gcov-dump.c (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts, tag_summary): Return void. Adjust. (struct tag_format): Adjust proc member. (dump_file): Adjust gcov calls. From-SVN: r65464
2003-04-07Change gcov file interface to single file at a time.Nathan Sidwell1-73/+51
* gcov-io.h: Replace IN_LIBGCC1 with IN_LIBGCOV. Use IN_GCOV. Convert to C89 prototypes. (gcov_file, gcov_length, gcov_position, gcov_buffer, gcov_alloc, gcov_error, gcov_modified): New static variables. (gcov_open, gcov_close, gcov_read_bytes, gcov_write_bytes): New functions. (gcov_write_unsigned, gcov_write_counter, gcov_write_string, gcov_read_unsigned, gcov_read_counter, gcov_read_string): Adjust. (gcov_read_summary, gcov_write_summary): Adjust. (gcov_save_position, gcov_reserve_length, gcov_write_length): Adjust. (gcov_resync, gcov_skip, gcov_skip_string): Adjust. (da_file_open, da_file_close, da_file_eof, da_file_error): Remove. (da_file_position, da_file_seek, da_file_write, da_file_read): Remove. (gcov_error, gcov_eof, gcov_ok, gcov_time): New functions. * gcov.c (gcov_type): Don't typedef here. (IN_GCOV): #define (read_graph_file, read_count_file): Adjust. * gcov-dump.c (gcov_type): Don't typedef here. (IN_GCOV): #define. (tag_function, tag_blocks, tag_arcs, tag_lines, tag_arc_counts): Remove FILE parameter, adjust. (struct tag_format): Adjust proc member. (dump_file): Adjust. * libgcov.c (IN_LIBGCOV): #define. (gcov_exit): Adjust. * loop-init.c: Don't #include gcov-io.h * profile.c (struct counts_entry): New structure to hold counter values. (struct section_reference, struct da_index_entry): Remove. (bbg_file, da_file): Remove. (htab_counts_index_hash, htab_counts_index_eq, htab_counts_index_del): Replace with ... (htab_counts_entry_hash, htab_counts_entry_eq, htab_counts_entry_del): ... these. (cleanup_counts_index, index_counts_file): Remove. (read_counts_file): New function. (get_exec_counts): Adjust. (compute_branch_probabilities): Don't free the exec counts here. (branch_prob): Adjust. (init_branch_prob): Adjust. (end_branch_prob): Adjust. From-SVN: r65338
2003-03-27libgcov.c: Provide only dummy functions if libc is not available.Janis Johnson1-0/+13
2003-03-27 Janis Johnson <janis187@us.ibm.com> * libgcov.c: Provide only dummy functions if libc is not available. From-SVN: r64936
2003-03-04gcov-io.h (gcov_save_position, [...]): Modified to enable reading/ writing ↵Zdenek Dvorak1-66/+56
of whole .da file just once. * gcov-io.h (gcov_save_position, gcov_reserve_length, gcov_resync, gcov_skip, gcov_skip_string, gcov_write_unsigned, gcov_write_counter, gcov_write_string, gcov_read_unsigned, gcov_read_counter, gcov_read_string, gcov_write_length): Modified to enable reading/ writing of whole .da file just once. (da_file_open, da_file_close, da_file_eof, da_file_error, da_file_position, da_file_seek, da_file_write, da_file_read): New functions. (actual_da_file, actual_da_file_position, actual_da_file_length, actual_da_file_buffer, actual_da_file_buffer_size): New static functions. * libgcov.c (gcov_exit): Modified to read/write the whole .da file at just once. From-SVN: r63800
2003-02-26gcov-dump.c (print_prefix): Fix signedness warning.Zdenek Dvorak1-48/+94
* gcov-dump.c (print_prefix): Fix signedness warning. * gcov-io.h (struct counter_section, struct counter_section_data): New. (struct function_info): n_arc_counts field removed, n_counter_sections, counter_sections fields added. (struct gcov_info): arc_counts, n_arc_counts fields removed, n_counter_sections, counter_sections fields added. * libgcov.c (gcov_exit, __gcov_flush): Add support for multiple profile sections. * profile.h (MAX_COUNTER_SECTIONS): New. (struct section_info): New. (struct profile_info): count_instrumented_edges, count_edges_instrumented_now fields removed, n_sections, section_info fields added. (find_counters_section): Declare. * profile.c (struct function_list): count_edges field removed, n_counter_sections, counter_sections fields added. (set_purpose, label_for_tag, build_counter_section_fields, build_counter_section_value, build_counter_section_data_fields, build_counter_section_data_value, build_function_info_fields, build_function_info_value, build_gcov_info_fields, build_gcov_info_value): New static functions. (find_counters_section): New function. (instrument_edges, get_exec_counts, compute_branch_probabilities, branch_prob, create_profiler): Modified to support multiple profile sections. From-SVN: r63474
2003-01-27Makefile.in (LIB2FUNCS_ST): Remove _gcov.Nathan Sidwell1-0/+473
* Makefile.in (LIB2FUNCS_ST): Remove _gcov. (LIBGCOV): New variable. (libgcc.mk): Add LIBGCOV. (LIBGCC_DEPS): Add libgcov.c. (libgcov.a): New target. (clean): Remove libgcov.a. (install-libgcc): Do libgcov too. (stage1-start, stage2-start, stage3-start, stage4-start): Deal with libgcov.a. * libgcc2.c (L_gcov): Move into ... * libgcov.c: ... here. New file. * mklibgcc.in: Add libgcov rules. * gcc.c (LINK_COMMAND_SPEC): Add -lgcov when profiling. * doc/invoke.texi (profile-arcs, test-coverage): Update and clarify. * profile.c (index_counts_file): Remove duplicate check for open file. From-SVN: r61905