On 6/4/20 1:44 AM, Gerald Pfeifer wrote:
On Wed, 3 Jun 2020, Martin Liška wrote:
Sorry for the breakage. Can you please paste full build output for the
problematic .o file?

I bet it's a C file compilation, where we should use:

__sync_val_compare_and_swap (counter, 0, (intptr_t)node);

Can you please test it?

c++ -std=c++11 -fno-PIE -c -g -DIN_GCC -fno-strict-aliasing
-fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag
-Wno-format -Wmissing-format-attribute -Wove rloaded-virtual -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-st rings -fno-common
-Wno-error -DHAVE_CONFIG_H -I. -I. -I/scratch/tmp/gerald/GCC-H EAD/gcc
-I/scratch/tmp/gerald/GCC-HEAD/gcc/.
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../include -I./../intl
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libcpp/include
-I/home/gerald/11-i386/include
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libdecnumber
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libdecnumber/dpd -I../libdecnumber
-I/scrat ch/tmp/gerald/GCC-HEAD/gcc/../libbacktrace -I. -I.
-I/scratch/tmp/gerald/GCC-H EAD/gcc -I/scratch/tmp/gerald/GCC-HEAD/gcc/.
-I/scratch/tmp/gerald/GCC-HEAD/gcc/ ../include -I./../intl
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libcpp/include
-I/home/gerald/11-i386/include
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libdecnumber
-I/scratch/tmp/gerald/GCC-HEAD/gcc/../libdecnumber/dpd -I../libdecnumber
-I/scrat ch/tmp/gerald/GCC-HEAD/gcc/../libbacktrace \ -DIN_GCOV_TOOL=1
-o libgcov-merge-tool.o 
/scratch/tmp/gerald/GCC-HEAD/gcc/../libgcc/libgcov-merge.c

Alas in tonights build (and the one with JOBS=1 I run during the day)
this now did not fail any longer. On the very same system and with the
same invocation of the build.

No I'm wondering what might have fixed this. The git lob did not show
me something obvious.

I would recommend:

$ git show --format=fuller 871e5ada6d53d5eb495cc9f323983f347487c1b2

Ah, cool.  Great to know, thank you!

Gerald


Hello.

Can you please test the following patch candidate:

diff --git a/libgcc/libgcov.h b/libgcc/libgcov.h
index 1456100815d..accecfe8221 100644
--- a/libgcc/libgcov.h
+++ b/libgcc/libgcov.h
@@ -410,7 +410,7 @@ gcov_counter_set_if_null (gcov_type *counter, struct 
gcov_kvp *node,
 {
 #if GCOV_SUPPORTS_ATOMIC
   if (use_atomic)
-    return !__sync_val_compare_and_swap (counter, NULL, (intptr_t)node);
+    return !__sync_val_compare_and_swap (counter, 0, (intptr_t)node);
   else
 #endif
     {

Thanks,
Martin

Reply via email to