126 lines
4.1 KiB
Diff
126 lines
4.1 KiB
Diff
From 1d2de32e97bf5569cc33ee9a90c873e1bbd2b1e6 Mon Sep 17 00:00:00 2001
|
|
From: q66 <daniel@octaforge.org>
|
|
Date: Sun, 6 Sep 2020 18:21:37 +0200
|
|
Subject: [PATCH] fix build on musl
|
|
|
|
---
|
|
.../sysprof-capture-cursor.c | 1 +
|
|
.../sysprof-capture-reader.c | 1 +
|
|
src/libsysprof-capture/sysprof-capture-util.c | 1 +
|
|
.../sysprof-capture-writer-cat.c | 1 +
|
|
src/libsysprof-capture/sysprof-collector.c | 1 +
|
|
src/libsysprof-capture/sysprof-compat.h | 28 +++++++++++++++++++
|
|
src/libsysprof-capture/sysprof-platform.c | 1 +
|
|
7 files changed, 34 insertions(+)
|
|
create mode 100644 src/libsysprof-capture/sysprof-compat.h
|
|
|
|
diff --git src/libsysprof-capture/sysprof-capture-cursor.c src/libsysprof-capture/sysprof-capture-cursor.c
|
|
index 24563f0..bb77a60 100644
|
|
--- src/libsysprof-capture/sysprof-capture-cursor.c
|
|
+++ src/libsysprof-capture/sysprof-capture-cursor.c
|
|
@@ -59,6 +59,7 @@
|
|
#include <assert.h>
|
|
#include <stdlib.h>
|
|
|
|
+#include "sysprof-compat.h"
|
|
#include "sysprof-capture-condition.h"
|
|
#include "sysprof-capture-cursor.h"
|
|
#include "sysprof-capture-reader.h"
|
|
diff --git src/libsysprof-capture/sysprof-capture-reader.c src/libsysprof-capture/sysprof-capture-reader.c
|
|
index 67c6b28..252d006 100644
|
|
--- src/libsysprof-capture/sysprof-capture-reader.c
|
|
+++ src/libsysprof-capture/sysprof-capture-reader.c
|
|
@@ -68,6 +68,7 @@
|
|
#include <sys/types.h>
|
|
#include <unistd.h>
|
|
|
|
+#include "sysprof-compat.h"
|
|
#include "sysprof-capture-reader.h"
|
|
#include "sysprof-capture-util-private.h"
|
|
#include "sysprof-capture-writer.h"
|
|
diff --git src/libsysprof-capture/sysprof-capture-util.c src/libsysprof-capture/sysprof-capture-util.c
|
|
index 0bbea06..0e5f7e7 100644
|
|
--- src/libsysprof-capture/sysprof-capture-util.c
|
|
+++ src/libsysprof-capture/sysprof-capture-util.c
|
|
@@ -56,6 +56,7 @@
|
|
|
|
#include "config.h"
|
|
|
|
+#include <stdint.h>
|
|
#include <assert.h>
|
|
#include <errno.h>
|
|
#include <unistd.h>
|
|
diff --git src/libsysprof-capture/sysprof-capture-writer-cat.c src/libsysprof-capture/sysprof-capture-writer-cat.c
|
|
index 66171b9..9febbbb 100644
|
|
--- src/libsysprof-capture/sysprof-capture-writer-cat.c
|
|
+++ src/libsysprof-capture/sysprof-capture-writer-cat.c
|
|
@@ -63,6 +63,7 @@
|
|
#include <stdlib.h>
|
|
#include <unistd.h>
|
|
|
|
+#include "sysprof-compat.h"
|
|
#include "sysprof-capture.h"
|
|
#include "sysprof-macros-internal.h"
|
|
|
|
diff --git src/libsysprof-capture/sysprof-collector.c src/libsysprof-capture/sysprof-collector.c
|
|
index 1d7a0d6..7af6c96 100644
|
|
--- src/libsysprof-capture/sysprof-collector.c
|
|
+++ src/libsysprof-capture/sysprof-collector.c
|
|
@@ -73,6 +73,7 @@
|
|
|
|
#include "mapped-ring-buffer.h"
|
|
|
|
+#include "sysprof-compat.h"
|
|
#include "sysprof-capture-util-private.h"
|
|
#include "sysprof-collector.h"
|
|
#include "sysprof-macros-internal.h"
|
|
diff --git src/libsysprof-capture/sysprof-compat.h src/libsysprof-capture/sysprof-compat.h
|
|
new file mode 100644
|
|
index 0000000..ae9bf10
|
|
--- /dev/null
|
|
+++ src/libsysprof-capture/sysprof-compat.h
|
|
@@ -0,0 +1,28 @@
|
|
+/* added by q66 @ void to fix build on musl */
|
|
+
|
|
+#pragma once
|
|
+
|
|
+#ifndef __GLIBC__
|
|
+
|
|
+#include <stdlib.h>
|
|
+#include <errno.h>
|
|
+
|
|
+/* from glibc */
|
|
+#ifndef TEMP_FAILURE_RETRY
|
|
+# define TEMP_FAILURE_RETRY(expression) \
|
|
+ (__extension__ \
|
|
+ ({ long int __result; \
|
|
+ do __result = (long int) (expression); \
|
|
+ while (__result == -1L && errno == EINTR); \
|
|
+ __result; }))
|
|
+#endif
|
|
+
|
|
+static inline void *reallocarray(void *p, size_t nmemb, size_t sz) {
|
|
+ if (sz && (nmemb > ((size_t)-1 / sz))) {
|
|
+ errno = ENOMEM;
|
|
+ return NULL;
|
|
+ }
|
|
+ return realloc(p, nmemb * sz);
|
|
+}
|
|
+
|
|
+#endif
|
|
diff --git src/libsysprof-capture/sysprof-platform.c src/libsysprof-capture/sysprof-platform.c
|
|
index a80ab89..05bd590 100644
|
|
--- src/libsysprof-capture/sysprof-platform.c
|
|
+++ src/libsysprof-capture/sysprof-platform.c
|
|
@@ -60,6 +60,7 @@
|
|
#include <sys/syscall.h>
|
|
#include <unistd.h>
|
|
|
|
+#include "sysprof-compat.h"
|
|
#include "sysprof-capture-util-private.h"
|
|
#include "sysprof-platform.h"
|
|
|
|
--
|
|
2.28.0
|
|
|