1*4882a593SmuzhiyunFrom 8b48c580bae0b0ffc773b0b829c50d33a907853c Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Hongxu Jia <hongxu.jia@windriver.com> 3*4882a593SmuzhiyunDate: Fri, 23 Aug 2019 10:19:48 +0800 4*4882a593SmuzhiyunSubject: [PATCH] musl-utils 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunProvide missing defines which otherwise are available on glibc system headers 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunAlter the error API to match posix version 9*4882a593Smuzhiyunuse qsort instead of qsort_r which is glibc specific API 10*4882a593Smuzhiyun 11*4882a593SmuzhiyunSigned-off-by: Khem Raj <raj.khem@gmail.com> 12*4882a593SmuzhiyunUpstream-Status: Inappropriate [workaround for musl] 13*4882a593Smuzhiyun 14*4882a593SmuzhiyunRebase to 0.177 15*4882a593SmuzhiyunSigned-off-by: Hongxu Jia <hongxu.jia@windriver.com> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun--- 18*4882a593Smuzhiyun src/arlib.h | 6 ++++++ 19*4882a593Smuzhiyun src/elfcompress.c | 7 +++++++ 20*4882a593Smuzhiyun src/strip.c | 7 +++++++ 21*4882a593Smuzhiyun src/unstrip.c | 9 +++++++++ 22*4882a593Smuzhiyun 4 files changed, 29 insertions(+) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyundiff --git a/src/arlib.h b/src/arlib.h 25*4882a593Smuzhiyunindex e117166..8326f6c 100644 26*4882a593Smuzhiyun--- a/src/arlib.h 27*4882a593Smuzhiyun+++ b/src/arlib.h 28*4882a593Smuzhiyun@@ -29,6 +29,12 @@ 29*4882a593Smuzhiyun #include <stdint.h> 30*4882a593Smuzhiyun #include <sys/types.h> 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun+#if !defined(ALLPERMS) 33*4882a593Smuzhiyun+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ 34*4882a593Smuzhiyun+#endif 35*4882a593Smuzhiyun+#if !defined(DEFFILEMODE) 36*4882a593Smuzhiyun+# define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666*/ 37*4882a593Smuzhiyun+#endif 38*4882a593Smuzhiyun 39*4882a593Smuzhiyun /* State of -D/-U flags. */ 40*4882a593Smuzhiyun extern bool arlib_deterministic_output; 41*4882a593Smuzhiyundiff --git a/src/elfcompress.c b/src/elfcompress.c 42*4882a593Smuzhiyunindex 2c6d91b..608646e 100644 43*4882a593Smuzhiyun--- a/src/elfcompress.c 44*4882a593Smuzhiyun+++ b/src/elfcompress.c 45*4882a593Smuzhiyun@@ -37,6 +37,13 @@ 46*4882a593Smuzhiyun #include "libeu.h" 47*4882a593Smuzhiyun #include "printversion.h" 48*4882a593Smuzhiyun 49*4882a593Smuzhiyun+#if !defined(ALLPERMS) 50*4882a593Smuzhiyun+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */ 51*4882a593Smuzhiyun+#endif 52*4882a593Smuzhiyun+#if !defined(FNM_EXTMATCH) 53*4882a593Smuzhiyun+# define FNM_EXTMATCH (0) 54*4882a593Smuzhiyun+#endif 55*4882a593Smuzhiyun+ 56*4882a593Smuzhiyun /* Name and version of program. */ 57*4882a593Smuzhiyun ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; 58*4882a593Smuzhiyun 59*4882a593Smuzhiyundiff --git a/src/strip.c b/src/strip.c 60*4882a593Smuzhiyunindex d5b753d..d6e1b64 100644 61*4882a593Smuzhiyun--- a/src/strip.c 62*4882a593Smuzhiyun+++ b/src/strip.c 63*4882a593Smuzhiyun@@ -46,6 +46,13 @@ 64*4882a593Smuzhiyun #include <system.h> 65*4882a593Smuzhiyun #include <printversion.h> 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun+#if !defined(ACCESSPERMS) 68*4882a593Smuzhiyun+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */ 69*4882a593Smuzhiyun+#endif 70*4882a593Smuzhiyun+#if !defined(FNM_EXTMATCH) 71*4882a593Smuzhiyun+# define FNM_EXTMATCH (0) 72*4882a593Smuzhiyun+#endif 73*4882a593Smuzhiyun+ 74*4882a593Smuzhiyun typedef uint8_t GElf_Byte; 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun /* Name and version of program. */ 77*4882a593Smuzhiyundiff --git a/src/unstrip.c b/src/unstrip.c 78*4882a593Smuzhiyunindex aacc9aa..5e71290 100644 79*4882a593Smuzhiyun--- a/src/unstrip.c 80*4882a593Smuzhiyun+++ b/src/unstrip.c 81*4882a593Smuzhiyun@@ -52,6 +52,15 @@ 82*4882a593Smuzhiyun #include "libeu.h" 83*4882a593Smuzhiyun #include "printversion.h" 84*4882a593Smuzhiyun 85*4882a593Smuzhiyun+#ifndef strndupa 86*4882a593Smuzhiyun+#define strndupa(s, n) \ 87*4882a593Smuzhiyun+ ({const char *__in = (s); \ 88*4882a593Smuzhiyun+ size_t __len = strnlen (__in, (n)) + 1; \ 89*4882a593Smuzhiyun+ char *__out = (char *) alloca (__len); \ 90*4882a593Smuzhiyun+ __out[__len-1] = '\0'; \ 91*4882a593Smuzhiyun+ (char *) memcpy (__out, __in, __len-1);}) 92*4882a593Smuzhiyun+#endif 93*4882a593Smuzhiyun+ 94*4882a593Smuzhiyun /* Name and version of program. */ 95*4882a593Smuzhiyun ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; 96*4882a593Smuzhiyun 97