aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--package/devel/perf/musl-compat.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/package/devel/perf/musl-compat.h b/package/devel/perf/musl-compat.h
index ecfbec6a29..d0fa7810fa 100644
--- a/package/devel/perf/musl-compat.h
+++ b/package/devel/perf/musl-compat.h
@@ -1,6 +1,8 @@
#ifndef __PERF_MUSL_COMPAT_H
#define __PERF_MUSL_COMPAT_H
+#ifndef __ASSEMBLER__
+
#include <sys/ioctl.h>
#include <string.h>
#include <unistd.h>
@@ -15,8 +17,14 @@
#undef _IO
/* Change XSI compliant version into GNU extension hackery */
-#define strerror_r(err, buf, buflen) \
- (strerror_r(err, buf, buflen) ? NULL : buf)
+static inline char *
+gnu_strerror_r(int err, char *buf, size_t buflen)
+{
+ if (strerror_r(err, buf, buflen))
+ return NULL;
+ return buf;
+}
+#define strerror_r gnu_strerror_r
#define _SC_LEVEL1_DCACHE_LINESIZE -1
@@ -60,3 +68,4 @@ static inline int compat_sched_getcpu(void)
#define sched_getcpu compat_sched_getcpu
#endif
+#endif