May not be required (or at least some hunks) with next release (0.186?) https://git.alpinelinux.org/aports/plain/main/elfutils/musl-macros.patch --- a/lib/libeu.h +++ b/lib/libeu.h @@ -31,6 +31,27 @@ #include #include +#include +#include +#include + +#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 + +#ifndef strndupa +#define strndupa(s, n) \ + (__extension__ ({const char *__in = (s); \ + size_t __len = strnlen (__in, (n)) + 1; \ + char *__out = (char *) alloca (__len); \ + __out[__len-1] = '\0'; \ + (char *) memcpy (__out, __in, __len-1);})) +#endif extern void *xmalloc (size_t) __attribute__ ((__malloc__)); extern void *xcalloc (size_t, size_t) __attribute__ ((__malloc__)); --- a/src/arlib.h +++ b/src/arlib.h @@ -29,6 +29,16 @@ #include #include +#if !defined(ACCESSPERMS) +# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ +#endif +#if !defined(ALLPERMS) +# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ +#endif +#if !defined(DEFFILEMODE) +# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ +#endif + /* State of -D/-U flags. */ extern bool arlib_deterministic_output; --- a/src/elfcompress.c +++ b/src/elfcompress.c @@ -37,6 +37,14 @@ #include "libeu.h" #include "printversion.h" +#if !defined(FNM_EXTMATCH) +# define FNM_EXTMATCH 0 +#endif + +#if !defined(ALLPERMS) +# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ +#endif + /* Name and version of program. */ ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; --- a/src/strip.c +++ b/src/strip.c @@ -45,6 +45,14 @@ #include #include +#if !defined(FNM_EXTMATCH) +# define FNM_EXTMATCH 0 +#endif + +#if !defined(ACCESSPERMS) +#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) +#endif + typedef uint8_t GElf_Byte; /* Name and version of program. */