[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#970142: automake-1.16 autopkgtest regression: vala-mix2 test fails with gcc 10



Source: automake-1.16
Version: 1:1.16.2-3
Severity: serious
Justification: https://release.debian.org/bullseye/rc_policy.txt §6a
Tags: patch fixed-upstream
Forwarded: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=41726
X-Debbugs-Cc: debian-ci@lists.debian.org

automake-1.16's vala-mix2 test fails with gcc 10, which defaults to
the equivalent of -fno-common:

> c++  -g -O2 -fdebug-prefix-map=/tmp/autopkgtest-lxc.7c5p77t1/downtmp/build.ezs/src=. -fstack-protector-strong -Wformat -Werror=format-security   -o zardoz zardoz.o bar.o baz.o master.o -lgobject-2.0 -lglib-2.0
> /usr/bin/ld: baz.o:./t/vala-mix2.dir/foo.h:1: multiple definition of `foo'; bar.o:./t/vala-mix2.dir/foo.h:1: first defined here

Upstream patch (as applied in Ubuntu already):
https://git.savannah.gnu.org/cgit/automake.git/commit/?id=74b9f0bbad27ae1b6ecfca7fb072cbad85a98a6b

or see attached.

It would probably also make sense to run the tests at build-time, now
that they're run as an autopkgtest that is also RC if it regresses.
Or if you think they're still too unreliable for failures to be RC,
please mark the autopkgtest as "Restrictions: flaky".

Thanks,
    smcv
>From 74b9f0bbad27ae1b6ecfca7fb072cbad85a98a6b Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Sat, 6 Jun 2020 15:47:33 -0700
Subject: tests: support -fno-common in vala-mix2 test.

This change fixes https://bugs.gnu.org/41726.

* t/vala-mix2.sh: extern in .h, initialization in .c.
GCC 10 defaults to -fno-common.
---
 t/vala-mix2.sh | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/t/vala-mix2.sh b/t/vala-mix2.sh
index 8e6a21436..933a3ffca 100644
--- a/t/vala-mix2.sh
+++ b/t/vala-mix2.sh
@@ -44,7 +44,7 @@ int main ()
 END
 
 cat > foo.h <<'END'
-int foo;
+extern int foo;
 int bar (void);
 int baz (void);
 END
@@ -56,7 +56,7 @@ END
 
 cat > baz.c <<'END'
 #include "foo.h"
-extern int foo = 0;
+int foo = 0;
 int baz (void) { return 0; }
 END
 
-- 
cgit v1.2.1


Reply to: