1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
|
From 262ac90394e36e0b4e86042d9c5385703f5b6536 Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 23 Aug 2019 10:19:48 +0800
Subject: [PATCH] musl-utils
Provide missing defines which otherwise are available on glibc system headers
Alter the error API to match posix version
use qsort instead of qsort_r which is glibc specific API
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Upstream-Status: Inappropriate [workaround for musl]
Rebase to 0.177
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
src/arlib.h | 6 ++++++
src/elfcompress.c | 7 +++++++
src/strip.c | 7 +++++++
src/unstrip.c | 9 +++++++++
4 files changed, 29 insertions(+)
diff --git a/src/arlib.h b/src/arlib.h
index d4a4221..f6336d9 100644
--- a/src/arlib.h
+++ b/src/arlib.h
@@ -29,6 +29,12 @@
#include <stdint.h>
#include <sys/types.h>
+#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;
diff --git a/src/elfcompress.c b/src/elfcompress.c
index 18ade66..a6ed4e1 100644
--- a/src/elfcompress.c
+++ b/src/elfcompress.c
@@ -37,6 +37,13 @@
#include "libeu.h"
#include "printversion.h"
+#if !defined(ALLPERMS)
+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
+#endif
+#if !defined(FNM_EXTMATCH)
+# define FNM_EXTMATCH (0)
+#endif
+
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
diff --git a/src/strip.c b/src/strip.c
index 2a2cc80..8e9f773 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -45,6 +45,13 @@
#include <system.h>
#include <printversion.h>
+#if !defined(ACCESSPERMS)
+# define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
+#endif
+#if !defined(FNM_EXTMATCH)
+# define FNM_EXTMATCH (0)
+#endif
+
typedef uint8_t GElf_Byte;
/* Name and version of program. */
diff --git a/src/unstrip.c b/src/unstrip.c
index d5bd182..d797823 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -51,6 +51,15 @@
#include "libeu.h"
#include "printversion.h"
+#ifndef strndupa
+#define strndupa(s, n) \
+ ({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
+
/* Name and version of program. */
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
|