Building g++ for target x86_64-pc-mingw32 currently fails.  Here is the
description from Kai Tietz, along with his proposed patch:

An interesting issue is that there is problem related that in c case the
type char * const[] is not equivalent to type char *const *. Is this done
by intention ?
For the w64 target the parameter of exec(??) methods are using 'const char
* const *' but gcc uses the type 'char * const []' for argp and envp
arguments. In earlier versions the types were equivalent.

See other report: http://gcc.gnu.org/ml/gcc-help/2007-10/msg00008.html

So I suggest the following patch for w64 in libgcov.c:

ChangeLog:

2007-10-02  Kai Tietz  <[EMAIL PROTECTED]>
       * libgcov.c: (__gcov_execve): Special case for x86_64-pc-mingw32.


Index: gcc/gcc/libgcov.c
===================================================================
--- gcc.orig/gcc/libgcov.c
+++ gcc/gcc/libgcov.c
@@ -945,7 +945,11 @@ int
 __gcov_execve (const char *path, char *const argv[], char *const envp[])
 {
   __gcov_flush ();
+#ifdef _WIN64
+  return execve (path, (const char * const *) argv, (const char * const *)
envp);
+#else
   return execve (path, argv, envp);
+#endif
 }
 #endif
 #endif /* inhibit_libc */
=


-- 
           Summary: Problem in libgcov.c (__gcov_execve) for target x86_64-
                    pc-mingw32
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: nightstrike at gmail dot com
GCC target triplet: x86_64-pc-mingw32


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33652

Reply via email to