88 lines
2.6 KiB
Diff
88 lines
2.6 KiB
Diff
--- a/src/arlib.h 2015-08-21 14:22:37.000000000 +0200
|
|
+++ b/src/arlib.h 2015-11-20 08:02:55.153199611 +0100
|
|
@@ -29,6 +29,16 @@
|
|
#include <stdint.h>
|
|
#include <sys/types.h>
|
|
|
|
+#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.orig 2016-04-02 12:51:26.903848894 +0200
|
|
+++ b/src/elfcompress.c 2016-04-02 12:55:15.076996338 +0200
|
|
@@ -35,6 +35,14 @@
|
|
#include <gelf.h>
|
|
#include "system.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. */
|
|
static void print_version (FILE *stream, struct argp_state *state);
|
|
ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
|
|
diff --git a/lib/libeu.h b/lib/libeu.h
|
|
index 69fe3d7..e5c99b8 100644
|
|
--- a/lib/libeu.h
|
|
+++ b/lib/libeu.h
|
|
@@ -31,6 +31,27 @@
|
|
|
|
#include <stddef.h>
|
|
#include <stdint.h>
|
|
+#include <unistd.h>
|
|
+#include <alloca.h>
|
|
+#include <string.h>
|
|
+
|
|
+#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__));
|
|
diff --git a/src/strip.c b/src/strip.c
|
|
index 48792a7..d2f0c60 100644
|
|
--- a/src/strip.c
|
|
+++ b/src/strip.c
|
|
@@ -46,6 +46,14 @@
|
|
#include <system.h>
|
|
#include <printversion.h>
|
|
|
|
+#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. */
|