Blob Blame History Raw
[PATCH] fio: remove duplicate global definition of tsc_reliable

From: Eric Sandeen <sandeen@redhat.com>

Newer gcc v10 complains about globals being defined twice due to
a new default -fno-common flag. This causes build failures:

  LINK t/fio-dedupe
/usr/bin/ld: t/arch.o:(.bss+0x4): multiple definition of `tsc_reliable'; gettime.o:(.bss+0x4): first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:499: t/fio-dedupe] Error 1

Each of the tests which call arch_init() to initialize tsc_reliable:

  File          Function       Line
1 t/dedupe.c    main           536 arch_init(argv);
2 t/lfsr-test.c main            37 arch_init(argv);
3 t/stest.c     main            86 arch_init(argv);

already link with gettime.o which defines tsc_reliable,
so there is no need to provide it from t/arch.c

Signed-off-by: Eric Sandeen <sandeen@redhat.com>
---

I can't really tell if this is the right fix across all arches, but
maybe someone smarter than me can sort it out? 

diff --git a/t/arch.c b/t/arch.c
index bd28a848..a72cef3a 100644
--- a/t/arch.c
+++ b/t/arch.c
@@ -1,5 +1,4 @@
 #include "../arch/arch.h"
 
 unsigned long arch_flags = 0;
-bool tsc_reliable;
 int arch_random;