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 #include #include @@ -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