Introduce limits wrapper
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 25 Nov 2020 20:50:16 +0000 (15:50 -0500)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Wed, 25 Nov 2020 20:50:16 +0000 (15:50 -0500)
Older kernels (v3.13.11 and older on the CI) miss the U32_MAX
macro. Implement them in a wrapper.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
include/counter/counter-api.h
include/wrapper/limits.h [new file with mode: 0644]
src/lttng-ring-buffer-event-notifier-client.h

index f2829fc5df9840cc9670dee6b138b02351379982..827fb6f81bd2df1bc1e9ed6d2e24470eb8a41001 100644 (file)
@@ -15,6 +15,7 @@
 #include <linux/bitops.h>
 #include <counter/counter.h>
 #include <counter/counter-internal.h>
+#include <wrapper/limits.h>
 
 /*
  * Using unsigned arithmetic because overflow is defined.
diff --git a/include/wrapper/limits.h b/include/wrapper/limits.h
new file mode 100644 (file)
index 0000000..832c2f7
--- /dev/null
@@ -0,0 +1,60 @@
+/* SPDX-License-Identifier: (GPL-2.0-only or LGPL-2.1-only)
+ *
+ * wrapper/limits.h
+ *
+ * Copyright (C) 2020 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ */
+
+#ifndef _LTTNG_WRAPPER_LIMITS_H
+#define _LTTNG_WRAPPER_LIMITS_H
+
+#include <linux/limits.h>
+
+#ifndef SIZE_MAX
+#define SIZE_MAX       (~(size_t)0)
+#endif
+#ifndef PHYS_ADDR_MAX
+#define PHYS_ADDR_MAX  (~(phys_addr_t)0)
+#endif
+
+#ifndef U8_MAX
+#define U8_MAX         ((u8)~0U)
+#endif
+#ifndef S8_MAX
+#define S8_MAX         ((s8)(U8_MAX >> 1))
+#endif
+#ifndef S8_MIN
+#define S8_MIN         ((s8)(-S8_MAX - 1))
+#endif
+#ifndef U16_MAX
+#define U16_MAX                ((u16)~0U)
+#endif
+#ifndef S16_MAX
+#define S16_MAX                ((s16)(U16_MAX >> 1))
+#endif
+#ifndef S16_MIN
+#define S16_MIN                ((s16)(-S16_MAX - 1))
+#endif
+#ifndef U32_MAX
+#define U32_MAX                ((u32)~0U)
+#endif
+#ifndef U32_MIN
+#define U32_MIN                ((u32)0)
+#endif
+#ifndef S32_MAX
+#define S32_MAX                ((s32)(U32_MAX >> 1))
+#endif
+#ifndef S32_MIN
+#define S32_MIN                ((s32)(-S32_MAX - 1))
+#endif
+#ifndef U64_MAX
+#define U64_MAX                ((u64)~0ULL)
+#endif
+#ifndef S64_MAX
+#define S64_MAX                ((s64)(U64_MAX >> 1))
+#endif
+#ifndef S64_MIN
+#define S64_MIN                ((s64)(-S64_MAX - 1))
+#endif
+
+#endif /* _LTTNG_WRAPPER_COMPILER_H */
index a857c8f7ef6684eed968f7e3354344889c3c4fc4..b5e91c550c812d538528c9fe17e428dc02836bfd 100644 (file)
@@ -14,6 +14,7 @@
 #include <lttng/abi.h>
 #include <lttng/events.h>
 #include <lttng/tracer.h>
+#include <wrapper/limits.h>
 
 static struct lttng_transport lttng_relay_transport;
 
This page took 0.028179 seconds and 4 git commands to generate.