Hi Jakub,

> On Thu, Nov 21, 2019 at 01:41:47AM +0100, Rainer Orth wrote:
>> Same on sparc-sun-solaris2.11 and i386-pc-solaris2.11.
>> 
>> There where quite a number of non-Go regressions all over the place.
>> Many are like this:
>> 
>> FAIL: gcc.c-torture/execute/complex-6.c   -O0  (test for excess errors)
>> 
>> ld: warning: symbol 'err' has differing types:
>>         (file /var/tmp//ccWQCyMc.o type=OBJT; file /lib/libc.so type=FUNC);
>>         /var/tmp//ccWQCyMc.o definition taken
>
> On i686-linux, I see just:
> +FAIL: gcc.target/i386/memcpy-strategy-1.c scan-assembler-times movdqa 4
> +FAIL: gcc.target/i386/memcpy-strategy-2.c scan-assembler-times movdqa 4
> +FAIL: gcc.target/i386/memcpy-vector_loop-1.c scan-assembler-times movdqa 4
> +FAIL: gcc.target/i386/pr69052.c scan-assembler-not leal[
> \\t]ind@GOTOFF\\\\(%[^,]*\\\\), %
> +FAIL: gfortran.dg/global_vars_f90_init.f90   -O0  (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O0 compilation failed to
> produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90   -O1  (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O1 compilation failed to
> produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90   -O2  (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O2 compilation failed to
> produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90 -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions (test for excess
> errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O3 -fomit-frame-pointer
> -funroll-loops -fpeel-loops -ftracer -finline-functions compilation failed
> to produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90   -O3 -g  (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -O3 -g compilation failed
> to produce executable
> +FAIL: gfortran.dg/global_vars_f90_init.f90   -Os  (test for excess errors)
> +UNRESOLVED: gfortran.dg/global_vars_f90_init.f90 -Os compilation failed to
> produce executable

I'm seeing those, too, plus the following that are apparently only
diagnosed by Solaris ld:

+FAIL: gcc.c-torture/execute/20030913-1.c   -O0  (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c   -O1  (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c   -O2  (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c   -O2 -flto  (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c   -O2 -flto -flto-partition=none  
(test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c   -O3 -g  (test for excess errors)
+FAIL: gcc.c-torture/execute/20030913-1.c   -Os  (test for excess errors)

Excess errors:
ld: warning: symbol 'glob' has differing types:
        (file /var/tmp//ccdl_86b.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//ccdl_86b.o definition taken

+FAIL: gcc.c-torture/execute/960218-1.c   -O0  (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -O1  (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -O2  (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -O2 -flto  (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -O2 -flto -flto-partition=none  (test 
for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -O3 -fomit-frame-pointer 
-funroll-loops -fpeel-loops -ftracer -finline-functions  (test for excess 
errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -O3 -g  (test for excess errors)
+FAIL: gcc.c-torture/execute/960218-1.c   -Os  (test for excess errors)

Excess errors:
ld: warning: symbol 'glob' has differing types:
        (file /var/tmp//cc0ib2Zb.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//cc0ib2Zb.o definition taken

+FAIL: gcc.c-torture/execute/complex-6.c   -O0  (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c   -O1  (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c   -O2  (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c   -O2 -flto  (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c   -O2 -flto -flto-partition=none  
(test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c   -O3 -g  (test for excess errors)
+FAIL: gcc.c-torture/execute/complex-6.c   -Os  (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//ccz5Kj5d.o type=OBJT; file /lib/sparcv9/libc.so 
type=FUNC);
        /var/tmp//ccz5Kj5d.o definition taken

+FAIL: gcc.dg/torture/ssa-pta-fn-1.c   -O1  (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c   -O2  (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c   -O2 -flto  (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c   -O2 -flto -flto-partition=none  (test 
for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c   -O3 -g  (test for excess errors)
+FAIL: gcc.dg/torture/ssa-pta-fn-1.c   -Os  (test for excess errors)

Excess errors:
ld: warning: symbol 'glob' has differing types:
        (file /var/tmp//ccn1WXac.o type=OBJT; file /lib/sparcv9/libc.so 
type=FUNC);
        /var/tmp//ccn1WXac.o definition taken

+FAIL: libgomp.c/pr39591-1.c (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//cc_ExIUc.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//cc_ExIUc.o definition taken

+FAIL: libgomp.c/pr39591-2.c (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//cc4vqObc.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//cc4vqObc.o definition taken

+FAIL: libgomp.c/pr39591-3.c (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//ccivrjXd.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//ccivrjXd.o definition taken

+FAIL: libgomp.c/private-1.c (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//cch58Hvd.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//cch58Hvd.o definition taken

+FAIL: libgomp.c/task-1.c (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//ccBb4fsb.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//ccBb4fsb.o definition taken

+FAIL: libgomp.c/task-5.c (test for excess errors)

Excess errors:
ld: warning: symbol 'err' has differing types:
        (file /var/tmp//ccvQhrHd.o type=OBJT; file /lib/libc.so type=FUNC);
        /var/tmp//ccvQhrHd.o definition taken

Fixed as follows, tested on i386-pc-solaris2.11 and
sparc-sun-solaris2.11.  Ok for mainline?

        Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University


2019-11-21  Rainer Orth  <r...@cebitec.uni-bielefeld.de>

        gcc/testsuite:
        * gcc.c-torture/execute/20030913-1.c: Rename glob to g.
        * gcc.c-torture/execute/960218-1.c: Rename glob to gl.
        * gcc.c-torture/execute/complex-6.c: Rename err to e.
        * gcc.dg/torture/ssa-pta-fn-1.c: Rename glob to g.

        libgomp:
        * testsuite/libgomp.c/pr39591-1.c: Rename err to e.
        * testsuite/libgomp.c/pr39591-2.c: Likewise.
        * testsuite/libgomp.c/pr39591-3.c: Likewise.
        * testsuite/libgomp.c/private-1.c: Likewise.
        * testsuite/libgomp.c/task-1.c: Likewise.
        * testsuite/libgomp.c/task-5.c: Renamed err to serr.

# HG changeset patch
# Parent  4f046c682e63b85a4e432f7f7cd0d7210bca06e4
Fix failures on Solaris with -fno-common default

diff --git a/gcc/testsuite/gcc.c-torture/execute/20030913-1.c b/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
--- a/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/20030913-1.c
@@ -1,12 +1,12 @@
 /* Assignments via pointers pointing to global variables were being killed
    by SSA-DCE.  Test contributed by Paul Brook <p...@nowt.org>  */
 
-int glob; 
+int g;
  
 void 
 fn2(int ** q) 
 { 
-  *q = &glob; 
+  *q = &g;
 } 
  
 void test() 
@@ -21,6 +21,6 @@ void test()
 int main() 
 { 
   test(); 
-  if (glob != 42) abort(); 
+  if (g != 42) abort();
   exit (0); 
 }
diff --git a/gcc/testsuite/gcc.c-torture/execute/960218-1.c b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
--- a/gcc/testsuite/gcc.c-torture/execute/960218-1.c
+++ b/gcc/testsuite/gcc.c-torture/execute/960218-1.c
@@ -1,8 +1,8 @@
-int glob;
+int gl;
 
 g (x)
 {
-  glob = x;
+  gl = x;
   return 0;
 }
 
@@ -16,7 +16,7 @@ f (x)
 main ()
 {
   f (3);
-  if (glob != -4)
+  if (gl != -4)
     abort ();
   exit (0);
 }
diff --git a/gcc/testsuite/gcc.c-torture/execute/complex-6.c b/gcc/testsuite/gcc.c-torture/execute/complex-6.c
--- a/gcc/testsuite/gcc.c-torture/execute/complex-6.c
+++ b/gcc/testsuite/gcc.c-torture/execute/complex-6.c
@@ -6,7 +6,7 @@
 #include <stdlib.h>
 #include <stdio.h>
 
-int err;
+int e;
 
 #define TEST(TYPE, FUNC)					\
 __complex__ TYPE						\
@@ -31,7 +31,7 @@ test_ ## FUNC (void)						\
   if (res != 1.0 - 2.0i)					\
     {								\
       printf ("test_" #FUNC " failed\n");			\
-      ++err;							\
+      ++e;							\
     }								\
 }
 
@@ -46,7 +46,7 @@ int
 main (void)
 {
 
-  err = 0;
+  e = 0;
 
   test_float ();
   test_double ();
@@ -54,7 +54,7 @@ main (void)
   test_int ();
   test_long_int ();
 
-  if (err != 0)
+  if (e != 0)
     abort ();
 
   return 0;
diff --git a/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c b/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c
--- a/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c
+++ b/gcc/testsuite/gcc.dg/torture/ssa-pta-fn-1.c
@@ -3,7 +3,7 @@
 /* { dg-skip-if "" { *-*-* } { "-O0" "-fno-fat-lto-objects" } { "" } } */
 
 extern void abort (void);
-int *glob;
+int *g;
 int dummy;
 
 int * __attribute__((noinline,const))
@@ -13,7 +13,7 @@ int * __attribute__((noinline,pure))
 foo_pure(int *p) { return p + dummy; }
 
 int * __attribute__((noinline))
-foo_normal(int *p) { glob = p; return p; }
+foo_normal(int *p) { g = p; return p; }
 
 void test_const(void)
 {
diff --git a/libgomp/testsuite/libgomp.c/pr39591-1.c b/libgomp/testsuite/libgomp.c/pr39591-1.c
--- a/libgomp/testsuite/libgomp.c/pr39591-1.c
+++ b/libgomp/testsuite/libgomp.c/pr39591-1.c
@@ -3,7 +3,7 @@
 
 extern void abort (void);
 
-int err;
+int e;
 
 int
 main (void)
@@ -23,10 +23,10 @@ main (void)
 	for (j = 0; j < sizeof array / sizeof array[0]; j++)
 	  if (array[j] != 0x55555555)
 #pragma omp atomic
-	    err++;
+	    e++;
       }
   }
-  if (err)
+  if (e)
     abort ();
   return 0;
 }
diff --git a/libgomp/testsuite/libgomp.c/pr39591-2.c b/libgomp/testsuite/libgomp.c/pr39591-2.c
--- a/libgomp/testsuite/libgomp.c/pr39591-2.c
+++ b/libgomp/testsuite/libgomp.c/pr39591-2.c
@@ -3,7 +3,7 @@
 
 extern void abort (void);
 
-int err;
+int e;
 
 void __attribute__((noinline))
 foo (int *array)
@@ -14,7 +14,7 @@ foo (int *array)
     for (j = 0; j < 40; j++)
       if (array[j] != 0x55555555)
 #pragma omp atomic
-	err++;
+	e++;
   }
 }
 
@@ -32,7 +32,7 @@ main (void)
     for (i = 0; i < 50; i++)
       foo (array);
   }
-  if (err)
+  if (e)
     abort ();
   return 0;
 }
diff --git a/libgomp/testsuite/libgomp.c/pr39591-3.c b/libgomp/testsuite/libgomp.c/pr39591-3.c
--- a/libgomp/testsuite/libgomp.c/pr39591-3.c
+++ b/libgomp/testsuite/libgomp.c/pr39591-3.c
@@ -3,7 +3,7 @@
 
 extern void abort (void);
 
-int err, a[40];
+int e, a[40];
 
 void __attribute__((noinline))
 foo (int *array)
@@ -14,7 +14,7 @@ foo (int *array)
     for (j = 0; j < 40; j++)
       if (array[j] != 0x55555555)
 #pragma omp atomic
-	err++;
+	e++;
   }
 }
 
@@ -33,7 +33,7 @@ main (void)
     for (i = 0; i < 50; i++)
       foo (a);
   }
-  if (err)
+  if (e)
     abort ();
   return 0;
 }
diff --git a/libgomp/testsuite/libgomp.c/private-1.c b/libgomp/testsuite/libgomp.c/private-1.c
--- a/libgomp/testsuite/libgomp.c/private-1.c
+++ b/libgomp/testsuite/libgomp.c/private-1.c
@@ -20,7 +20,7 @@ f1 (int i, int j, int k)
 }
 
 int v1 = 1, v2 = 2, v5 = 5;
-int err;
+int e;
 
 void
 f2 (void)
@@ -35,11 +35,11 @@ f2 (void)
       #pragma omp parallel num_threads(1) firstprivate(v1, v2, v3, v4)
 	{
 	  if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
-	    err = 1;
+	    e = 1;
 	}
       if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
 	abort ();
-      if (err)
+      if (e)
 	abort ();
     }
   }
diff --git a/libgomp/testsuite/libgomp.c/task-1.c b/libgomp/testsuite/libgomp.c/task-1.c
--- a/libgomp/testsuite/libgomp.c/task-1.c
+++ b/libgomp/testsuite/libgomp.c/task-1.c
@@ -20,7 +20,7 @@ f1 (int i, int j, int k)
 }
 
 int v1 = 1, v2 = 2, v5 = 5;
-int err;
+int e;
 
 void
 f2 (void)
@@ -35,12 +35,12 @@ f2 (void)
       #pragma omp task
 	{
 	  if (++v1 != 8 || ++v2 != 3 || ++v3 != 4 || ++v4 != 5 || ++v5 != 6)
-	    err = 1;
+	    e = 1;
 	}
       #pragma omp taskwait
       if (v1 != 7 || v2 != 2 || v3 != 3 || v4 != 4 || v5 != 6)
 	abort ();
-      if (err)
+      if (e)
 	abort ();
     }
   }
diff --git a/libgomp/testsuite/libgomp.c/task-5.c b/libgomp/testsuite/libgomp.c/task-5.c
--- a/libgomp/testsuite/libgomp.c/task-5.c
+++ b/libgomp/testsuite/libgomp.c/task-5.c
@@ -3,42 +3,42 @@
 #include <omp.h>
 #include <stdlib.h>
 
-int err;
+int serr;
 
 int
 main ()
 {
   int e;
-#pragma omp parallel shared(err)
+#pragma omp parallel shared(serr)
   {
     if (omp_in_final ())
       #pragma omp atomic write
-	err = 1;
-    #pragma omp task if (0) shared(err)
+	serr = 1;
+    #pragma omp task if (0) shared(serr)
       {
 	if (omp_in_final ())
 	  #pragma omp atomic write
-	    err = 1;
-	#pragma omp task if (0) shared(err)
+	    serr = 1;
+	#pragma omp task if (0) shared(serr)
 	  if (omp_in_final ())
 	    #pragma omp atomic write
-	      err = 1;
+	      serr = 1;
       }
-    #pragma omp task final (1) shared(err)
+    #pragma omp task final (1) shared(serr)
       {
 	if (!omp_in_final ())
 	  #pragma omp atomic write
-	    err = 1;
+	    serr = 1;
 	#pragma omp taskyield
 	#pragma omp taskwait
-	#pragma omp task shared(err)
+	#pragma omp task shared(serr)
 	  if (!omp_in_final ())
 	    #pragma omp atomic write
-	      err = 1;
+	      serr = 1;
       }
   }
   #pragma omp atomic read
-    e = err;
+    e = serr;
   if (e)
     abort ();
   return 0;

Reply via email to