summaryrefslogtreecommitdiffstats
path: root/package/devel
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2016-01-12 16:42:12 +0000
committerFelix Fietkau <nbd@openwrt.org>2016-01-12 16:42:12 +0000
commitbd99318c820c47af63c30dcf12fb3f929c257180 (patch)
tree16ab41c3b8666e60eb63e3659bb17f5d467b0b24 /package/devel
parent2a170e40860034a9a5157306547c1a333be3845b (diff)
downloadmaster-31e0f0ae-bd99318c820c47af63c30dcf12fb3f929c257180.tar.gz
master-31e0f0ae-bd99318c820c47af63c30dcf12fb3f929c257180.tar.bz2
master-31e0f0ae-bd99318c820c47af63c30dcf12fb3f929c257180.zip
perf: fix strerror_r override detection, apparently part of tools/ relies on non-GNU behavior
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48221
Diffstat (limited to 'package/devel')
-rw-r--r--package/devel/perf/Makefile2
-rw-r--r--package/devel/perf/musl-compat.h11
-rw-r--r--package/devel/perf/musl-include/string.h18
3 files changed, 19 insertions, 12 deletions
diff --git a/package/devel/perf/Makefile b/package/devel/perf/Makefile
index 97eecd715d..e6ee62f5a2 100644
--- a/package/devel/perf/Makefile
+++ b/package/devel/perf/Makefile
@@ -59,7 +59,7 @@ MAKE_FLAGS = \
prefix=/usr
ifdef CONFIG_USE_MUSL
- MAKE_FLAGS += EXTRA_CFLAGS="-include $(CURDIR)/musl-compat.h -D__UCLIBC__"
+ MAKE_FLAGS += EXTRA_CFLAGS="-I$(CURDIR)/musl-include -include $(CURDIR)/musl-compat.h -D__UCLIBC__"
endif
define Build/Compile
diff --git a/package/devel/perf/musl-compat.h b/package/devel/perf/musl-compat.h
index d0fa7810fa..458915d5eb 100644
--- a/package/devel/perf/musl-compat.h
+++ b/package/devel/perf/musl-compat.h
@@ -4,7 +4,6 @@
#ifndef __ASSEMBLER__
#include <sys/ioctl.h>
-#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <syscall.h>
@@ -16,16 +15,6 @@
#undef _IOC
#undef _IO
-/* Change XSI compliant version into GNU extension hackery */
-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
static inline long sysconf_wrap(int name)
diff --git a/package/devel/perf/musl-include/string.h b/package/devel/perf/musl-include/string.h
new file mode 100644
index 0000000000..65dc2f1e8f
--- /dev/null
+++ b/package/devel/perf/musl-include/string.h
@@ -0,0 +1,18 @@
+#ifndef __MUSL_COMPAT_STRING_H
+#define __MUSL_COMPAT_STRING_H
+
+#include_next <string.h>
+
+/* Change XSI compliant version into GNU extension hackery */
+static inline char *
+gnu_strerror_r(int err, char *buf, size_t buflen)
+{
+ if (strerror_r(err, buf, buflen))
+ return NULL;
+ return buf;
+}
+#ifdef _GNU_SOURCE
+#define strerror_r gnu_strerror_r
+#endif
+
+#endif