From 0d98403557465dd12e4f8d33a673d98b3468dd60 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mat=C4=9Bj=20Grabovsk=C3=BD?= <mgrabovs@redhat.com>
Date: Thu, 20 Feb 2020 10:11:47 +0100
Subject: [PATCH] Fix for build on GCC 10
GCC 10 defaults to -fno-common which requires us to explicitly mark
global variables with extern in header files.
---
include/Logging.h | 6 ++----
include/ProcDumpConfiguration.h | 6 +++---
src/ProcDumpConfiguration.c | 6 ++++++
3 files changed, 11 insertions(+), 7 deletions(-)
diff --git a/include/Logging.h b/include/Logging.h
index 2ac9d2d..992b758 100644
--- a/include/Logging.h
+++ b/include/Logging.h
@@ -26,8 +26,6 @@
#define S2(x) S1(x)
#define LOCATION "in "__FILE__ ", at line " S2(__LINE__)
-extern struct ProcDumpConfiguration g_config;
-
enum LogLevel{
debug,
@@ -39,7 +37,7 @@ enum LogLevel{
void Log(enum LogLevel logLevel, const char *message, ...);
-pthread_mutex_t LoggerLock;
+extern pthread_mutex_t LoggerLock;
void DiagTrace(const char* message, ...);
@@ -54,4 +52,4 @@ void DiagTrace(const char* message, ...);
#define Trace(format, ...) \
DiagTrace(format " %s", ##__VA_ARGS__, LOCATION);
-#endif // LOGGING_H
\ No newline at end of file
+#endif // LOGGING_H
diff --git a/include/ProcDumpConfiguration.h b/include/ProcDumpConfiguration.h
index 70f7b00..8f55815 100644
--- a/include/ProcDumpConfiguration.h
+++ b/include/ProcDumpConfiguration.h
@@ -38,10 +38,10 @@
#define MIN_KERNEL_VERSION 3
#define MIN_KERNEL_PATCH 5
-struct ProcDumpConfiguration g_config; // backbone of the program
+extern struct ProcDumpConfiguration g_config; // backbone of the program
-long HZ; // clock ticks per second
-int MAXIMUM_CPU; // maximum cpu usage percentage (# cores * 100)
+extern long HZ; // clock ticks per second
+extern int MAXIMUM_CPU; // maximum cpu usage percentage (# cores * 100)
// -------------------
// Structs
diff --git a/src/ProcDumpConfiguration.c b/src/ProcDumpConfiguration.c
index a428c11..3d07915 100644
--- a/src/ProcDumpConfiguration.c
+++ b/src/ProcDumpConfiguration.c
@@ -12,6 +12,12 @@
struct Handle g_evtConfigurationInitialized = HANDLE_MANUAL_RESET_EVENT_INITIALIZER("ConfigurationInitialized");
+pthread_mutex_t LoggerLock;
+struct ProcDumpConfiguration g_config;
+
+long HZ;
+int MAXIMUM_CPU;
+
static sigset_t sig_set;
static pthread_t sig_thread_id;
--
2.24.1