]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Backport e9f799d25973fc38022c5ea71ed5a2bca58a847f
authorMartin Liska <mliska@suse.cz>
Mon, 20 Apr 2020 09:26:58 +0000 (11:26 +0200)
committerMartin Liska <mliska@suse.cz>
Mon, 20 Apr 2020 09:26:58 +0000 (11:26 +0200)
Backport from mainline
2020-04-17  Martin Liska  <mliska@suse.cz>
    Jonathan Yong <10walls@gmail.com>

PR gcov-profile/94570
* ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM
for CYGWIN.
Backport from mainline
2020-04-17  Martin Liska  <mliska@suse.cz>
    Jonathan Yong <10walls@gmail.com>

PR gcov-profile/94570
* coverage.c (coverage_init): Use separator properly.
Backport from mainline
2020-04-17  Martin Liska  <mliska@suse.cz>
    Jonathan Yong <10walls@gmail.com>

PR gcov-profile/94570
* filenames.h (defined): Do not define HAVE_DOS_BASED_FILE_SYSTEM
for CYGWIN.

Co-Authored-By: Jonathan Yong <10walls@gmail.com>
ChangeLog
gcc/ChangeLog
gcc/coverage.c
include/ChangeLog
include/filenames.h
ltmain.sh

index 9605d767a80e8746442eb7d2ebc4df2a0a521b00..0203aec84ad5add4a0eda80f6b9b684ad804fa40 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2020-04-20  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2020-04-17  Martin Liska  <mliska@suse.cz>
+                   Jonathan Yong <10walls@gmail.com>
+
+       PR gcov-profile/94570
+       * ltmain.sh: Do not define HAVE_DOS_BASED_FILE_SYSTEM
+       for CYGWIN.
+
 2020-03-12  Release Manager
 
        * GCC 9.3.0 released.
index 7df3a0d0990464d095a25cd60860e2f317027a9d..ff0cc6373fe955b79dc34b0a364812954544719a 100644 (file)
@@ -1,3 +1,12 @@
+2020-04-20  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2020-04-17  Martin Liska  <mliska@suse.cz>
+                   Jonathan Yong <10walls@gmail.com>
+
+       PR gcov-profile/94570
+       * coverage.c (coverage_init): Use separator properly.
+
 2020-04-17  H.J. Lu  <hongjiu.lu@intel.com>
 
        Backport from master
index 1ffefd5f482053308c3dc6f87aec69f0109ec7a0..9be446a862d9229615079ab6b516fe4d3b6a0c53 100644 (file)
@@ -1201,6 +1201,11 @@ coverage_obj_finish (vec<constructor_elt, va_gc> *ctor)
 void
 coverage_init (const char *filename)
 {
+#if HAVE_DOS_BASED_FILE_SYSTEM
+  const char *separator = "\\";
+#else
+  const char *separator = "/";
+#endif
   int len = strlen (filename);
   int prefix_len = 0;
 
@@ -1217,11 +1222,6 @@ coverage_init (const char *filename)
         of filename in order to prevent file path clashing.  */
       if (profile_data_prefix)
        {
-#if HAVE_DOS_BASED_FILE_SYSTEM
-         const char *separator = "\\";
-#else
-         const char *separator = "/";
-#endif
          filename = concat (getpwd (), separator, filename, NULL);
          filename = mangle_path (filename);
          len = strlen (filename);
@@ -1240,7 +1240,7 @@ coverage_init (const char *filename)
   if (profile_data_prefix)
     {
       memcpy (da_file_name, profile_data_prefix, prefix_len);
-      da_file_name[prefix_len++] = '/';
+      da_file_name[prefix_len++] = *separator;
     }
   memcpy (da_file_name + prefix_len, filename, len);
   strcpy (da_file_name + prefix_len + len, GCOV_DATA_SUFFIX);
index 1811056c182603a5ac73af70b96540edfb7de9f7..e8e301dd8e7acb97cd81fba48f48d87a17fa4076 100644 (file)
@@ -1,3 +1,13 @@
+2020-04-20  Martin Liska  <mliska@suse.cz>
+
+       Backport from mainline
+       2020-04-17  Martin Liska  <mliska@suse.cz>
+                   Jonathan Yong <10walls@gmail.com>
+
+       PR gcov-profile/94570
+       * filenames.h (defined): Do not define HAVE_DOS_BASED_FILE_SYSTEM
+       for CYGWIN.
+
 2020-03-12  Release Manager
 
        * GCC 9.3.0 released.
index 1bcfddb87ac0a2efef5adf563437dfbf721009b5..790a27db8736aad56c11e53269a621f02652410a 100644 (file)
@@ -32,7 +32,8 @@ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
 extern "C" {
 #endif
 
-#if defined(__MSDOS__) || defined(_WIN32) || defined(__OS2__) || defined (__CYGWIN__)
+#if defined(__MSDOS__) || (defined(_WIN32) && ! defined(__CYGWIN__)) || \
+    defined(__OS2__)
 #  ifndef HAVE_DOS_BASED_FILE_SYSTEM
 #    define HAVE_DOS_BASED_FILE_SYSTEM 1
 #  endif
index 79f9ba89af5e3553359f3b16c65371cf138fd8d8..70990740b6c4719bc9393036ed2e94196daff86f 100644 (file)
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -3425,8 +3425,8 @@ int setenv (const char *, const char *, int);
 # define PATH_SEPARATOR ':'
 #endif
 
-#if defined (_WIN32) || defined (__MSDOS__) || defined (__DJGPP__) || \
-  defined (__OS2__)
+#if (defined (_WIN32) && ! defined(__CYGWIN__)) || defined (__MSDOS__) || \
+  defined (__DJGPP__) || defined (__OS2__)
 # define HAVE_DOS_BASED_FILE_SYSTEM
 # define FOPEN_WB "wb"
 # ifndef DIR_SEPARATOR_2