This just fix the ftw issue. But still have "%lld", mkdir, "GCC poison
strerror" issue on gcov.
You can following the build instructions at:

http://sourceforge.net/p/mingw-w64/mingw-w64/ci/master/tree/mingw-w64-doc/howto-build/mingw-w64-howto-build.txt

Regards,
Dongsheng

On Thu, Jul 24, 2014 at 2:38 AM, Rong Xu <[email protected]> wrote:
> +cc honza
>
> Here is the patch I created to fix the issue. The problem is I don't
> know how to test it. Can you give me the instructions for you build,
> or you can test it for me (at least the build part).
>
> Thanks,
>
> -Rong
>
> On Wed, Jul 16, 2014 at 2:44 AM, Dongsheng Song
> <[email protected]> wrote:
>> On Wed, Jul 16, 2014 at 12:37 AM, Rong Xu <[email protected]> wrote:
>>> On Mon, Jul 14, 2014 at 11:02 PM, Dongsheng Song
>>> <[email protected]> wrote:
>>>> Hi Rong,
>>>>
>>>> Your commit r212448 broken Windows target 4 days.
>>>> Since windows target no ftw.h, this caused the following errors:
>>>
>>> Sorry for this. Do you know if there is a similar API in windows?
>>> If the answer is no, I will have to disable gcov-tool in windows.
>>>
>>
>> Windows have FindFirstFile/FindNextFile/FindClose.
>>
>> PS: The ftw() function is marked obsolescent.
>> http://pubs.opengroup.org/onlinepubs/9699919799/functions/ftw.html
>>
>>> Thanks,
>>>
>>> -Rong
>>>
>>>>
>>>> make[2]: Entering directory
>>>> `/home/cauchy/obj/native/gcc-4.10-win64/gcc/libdecnumber'
>>>> make[2]: Nothing to be done for `all'.
>>>> make[2]: Leaving directory
>>>> `/home/cauchy/obj/native/gcc-4.10-win64/gcc/libdecnumber'
>>>> make[2]: Entering directory 
>>>> `/home/cauchy/obj/native/gcc-4.10-win64/gcc/gcc'
>>>> x86_64-w64-mingw32-g++ -c   -g -O2 -DIN_GCC    -fno-exceptions
>>>> -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing
>>>> -Wwrite-strings -Wcast-qual -Wmissing-format-attribute
>>>> -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros
>>>> -Wno-overlength-strings   -DHAVE_CONFIG_H -I. -I.
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gcc
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gcc/.
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../include
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libcpp/include
>>>> -I/home/cauchy/obj/native/gcc-4.10-win64/gcc/./gmp
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gmp
>>>> -I/home/cauchy/obj/native/gcc-4.10-win64/gcc/./mpfr/src
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/mpfr/src
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/mpc/src
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libdecnumber
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libdecnumber/bid
>>>> -I../libdecnumber -I/home/cauchy/vcs/svn/gcc/trunk/gcc/../libbacktrace
>>>> -DCLOOG_INT_GMP
>>>> -I/home/cauchy/obj/native/gcc-4.10-win64/gcc/./cloog/include
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/cloog/include
>>>> -I/home/cauchy/obj/native/gcc-4.10-win64/gcc/./isl/include
>>>> -I/home/cauchy/vcs/svn/gcc/trunk/isl/include  -o gcov-tool.o -MT
>>>> gcov-tool.o -MMD -MP -MF ./.deps/gcov-tool.TPo
>>>> /home/cauchy/vcs/svn/gcc/trunk/gcc/gcov-tool.c
>>>> /home/cauchy/vcs/svn/gcc/trunk/gcc/gcov-tool.c:38:17: fatal error:
>>>> ftw.h: No such file or directory
>>>>  #include <ftw.h>
>>>>                  ^
>>>> compilation terminated.
>>>> make[2]: *** [gcov-tool.o] Error 1
>>>> make[2]: Leaving directory `/home/cauchy/obj/native/gcc-4.10-win64/gcc/gcc'
>>>> make[1]: *** [all-gcc] Error 2
>>>> make[1]: Leaving directory `/home/cauchy/obj/native/gcc-4.10-win64/gcc'
>>>> make: *** [all] Error 2
>>>>
>>>> Regards,
>>>> Dongsheng
>>>>
>>>> On Fri, Jul 11, 2014 at 1:48 PM,  <[email protected]> wrote:
>>>>> Author: xur
>>>>> Date: Fri Jul 11 05:48:07 2014
>>>>> New Revision: 212448
>>>>>
>>>>> URL: https://gcc.gnu.org/viewcvs?rev=212448&root=gcc&view=rev
>>>>> Log:
>>>>> 2014-07-10  Rong Xu  <[email protected]>
>>>>>
>>>>>         Add gcov-tool: an offline gcda profile processing tool
>>>>>         Support.
>>>>>         * gcc/gcov-io.c (gcov_position): Make avaialble to gcov-tool.
>>>>>         (gcov_is_error): Ditto.
>>>>>         (gcov_read_string): Ditto.
>>>>>         (gcov_read_sync): Ditto.
>>>>>         * gcc/gcov-io.h: Move counter defines to gcov-counter.def.
>>>>>         * gcc/gcov-dump.c (tag_counters): Use gcov-counter.def.
>>>>>         * gcc/coverage.c: Ditto.
>>>>>         * gcc/gcov-tool.c: Offline gcda profile processing tool.
>>>>>         (unlink_gcda_file): Remove one gcda file.
>>>>>         (unlink_profile_dir): Remove gcda files from the profile path.
>>>>>         (gcov_output_files): Output gcda files to an output dir.
>>>>>         (profile_merge): Merge two profiles in directory.
>>>>>         (print_merge_usage_message): Print merge usage.
>>>>>         (merge_usage): Print merge usage and exit.
>>>>>         (do_merge): Driver for profile merge sub-command.
>>>>>         (profile_rewrite): Rewrite profile.
>>>>>         (print_rewrite_usage_message): Print rewrite usage.
>>>>>         (rewrite_usage): Print rewrite usage and exit.
>>>>>         (do_rewrite): Driver for profile rewrite sub-command.
>>>>>         (print_usage): Print gcov-info usage and exit.
>>>>>         (print_version): Print gcov-info version.
>>>>>         (process_args): Process arguments.
>>>>>         (main): Main routine for gcov-tool.
>>>>>         * gcc/Makefile.in: Build and install gcov-tool.
>>>>>         * gcc/gcov-counter.def: New file split from gcov-io.h.
>>>>>         * libgcc/libgcov-driver.c (gcov_max_filename): Make available
>>>>>         to gcov-tool.
>>>>>         * libgcc/libgcov-merge.c (__gcov_merge_add): Replace
>>>>>         gcov_read_counter() with a Macro.
>>>>>         (__gcov_merge_ior): Ditto.
>>>>>         (__gcov_merge_time_profile): Ditto.
>>>>>         (__gcov_merge_single): Ditto.
>>>>>         (__gcov_merge_delta): Ditto.
>>>>>         * libgcc/libgcov-util.c (void gcov_set_verbose): Set the verbose 
>>>>> flag
>>>>>         in the utility functions.
>>>>>         (set_fn_ctrs): Utility function for reading gcda files to 
>>>>> in-memory
>>>>>         gcov_list object link lists.
>>>>>         (tag_function): Ditto.
>>>>>         (tag_blocks): Ditto.
>>>>>         (tag_arcs): Ditto.
>>>>>         (tag_lines): Ditto.
>>>>>         (tag_counters): Ditto.
>>>>>         (tag_summary): Ditto.
>>>>>         (read_gcda_finalize): Ditto.
>>>>>         (read_gcda_file): Ditto.
>>>>>         (ftw_read_file): Ditto.
>>>>>         (read_profile_dir_init): Ditto.
>>>>>         (gcov_read_profile_dir): Ditto.
>>>>>         (gcov_read_counter_mem): Ditto.
>>>>>         (gcov_get_merge_weight): Ditto.
>>>>>         (merge_wrapper): A wrapper function that calls merging handler.
>>>>>         (gcov_merge): Merge two gcov_info objects with weights.
>>>>>         (find_match_gcov_info): Find the matched gcov_info in the list.
>>>>>         (gcov_profile_merge): Merge two gcov_info object lists.
>>>>>         (__gcov_add_counter_op): Process edge profile counter values.
>>>>>         (__gcov_ior_counter_op): Process IOR profile counter values.
>>>>>         (__gcov_delta_counter_op): Process delta profile counter values.
>>>>>         (__gcov_single_counter_op): Process single  profile counter 
>>>>> values.
>>>>>         (fp_scale): Callback function for float-point scaling.
>>>>>         (int_scale): Callback function for integer fraction scaling.
>>>>>         (gcov_profile_scale): Scaling profile counters.
>>>>>         (gcov_profile_normalize): Normalize profile counters.
>>>>>         * libgcc/libgcov.h: Add headers and functions for gcov-tool use.
>>>>>         (gcov_get_counter): New.
>>>>>         (gcov_get_counter_target): Ditto.
>>>>>         (struct gcov_info): Make the functions field mutable in gcov-tool
>>>>>         compilation.
>>>>>         * gcc/doc/gcc.texi: Include gcov-tool.texi.
>>>>>         * gcc/doc/gcov-tool.texi: Document for gcov-tool.
>>>>>
>>>>> Added:
>>>>>     trunk/gcc/doc/gcov-tool.texi
>>>>>     trunk/gcc/gcov-counter.def
>>>>>     trunk/gcc/gcov-tool.c
>>>>>     trunk/libgcc/libgcov-util.c
>>>>> Modified:
>>>>>     trunk/gcc/ChangeLog
>>>>>     trunk/gcc/Makefile.in
>>>>>     trunk/gcc/coverage.c
>>>>>     trunk/gcc/doc/gcc.texi
>>>>>     trunk/gcc/gcov-dump.c
>>>>>     trunk/gcc/gcov-io.c
>>>>>     trunk/gcc/gcov-io.h
>>>>>     trunk/libgcc/ChangeLog
>>>>>     trunk/libgcc/libgcov-driver.c
>>>>>     trunk/libgcc/libgcov-merge.c
>>>>>     trunk/libgcc/libgcov.h
>>>>>

------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public

Reply via email to