diff options
Diffstat (limited to 'meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch')
-rw-r--r-- | meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch b/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch deleted file mode 100644 index 9783396639..0000000000 --- a/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch +++ /dev/null | |||
@@ -1,71 +0,0 @@ | |||
1 | From 9b9d717f484ec913cdd3804e43489b3dc18bd77c Mon Sep 17 00:00:00 2001 | ||
2 | From: Khem Raj <raj.khem@gmail.com> | ||
3 | Date: Sat, 31 Oct 2020 22:14:05 -0700 | ||
4 | Subject: [PATCH] tools: Add error.h for non-glibc case | ||
5 | |||
6 | error is glibc specific API, so this patch will mostly not accepted | ||
7 | upstream given that elfutils has been closely tied to glibc | ||
8 | |||
9 | Upstream-Status: Inappropriate [workaround for musl] | ||
10 | |||
11 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
12 | |||
13 | --- | ||
14 | tools/elfdeps.c | 6 +++++- | ||
15 | tools/error.h | 27 +++++++++++++++++++++++++++ | ||
16 | 2 files changed, 32 insertions(+), 1 deletion(-) | ||
17 | create mode 100644 tools/error.h | ||
18 | |||
19 | diff --git a/tools/elfdeps.c b/tools/elfdeps.c | ||
20 | index d205935bb..3a8945b33 100644 | ||
21 | --- a/tools/elfdeps.c | ||
22 | +++ b/tools/elfdeps.c | ||
23 | @@ -5,10 +5,14 @@ | ||
24 | #include <unistd.h> | ||
25 | #include <stdlib.h> | ||
26 | #include <fcntl.h> | ||
27 | -#include <error.h> | ||
28 | #include <errno.h> | ||
29 | #include <popt.h> | ||
30 | #include <gelf.h> | ||
31 | +#ifdef __GLIBC__ | ||
32 | +#include <error.h> | ||
33 | +#else | ||
34 | +#include "error.h" | ||
35 | +#endif | ||
36 | |||
37 | #include <rpm/rpmstring.h> | ||
38 | #include <rpm/argv.h> | ||
39 | diff --git a/tools/error.h b/tools/error.h | ||
40 | new file mode 100644 | ||
41 | index 000000000..ef06827a0 | ||
42 | --- /dev/null | ||
43 | +++ b/tools/error.h | ||
44 | @@ -0,0 +1,27 @@ | ||
45 | +#ifndef _ERROR_H_ | ||
46 | +#define _ERROR_H_ | ||
47 | + | ||
48 | +#include <stdarg.h> | ||
49 | +#include <stdio.h> | ||
50 | +#include <stdlib.h> | ||
51 | +#include <string.h> | ||
52 | +#include <errno.h> | ||
53 | + | ||
54 | +static unsigned int error_message_count = 0; | ||
55 | + | ||
56 | +static inline void error(int status, int errnum, const char* format, ...) | ||
57 | +{ | ||
58 | + va_list ap; | ||
59 | + fprintf(stderr, "%s: ", program_invocation_name); | ||
60 | + va_start(ap, format); | ||
61 | + vfprintf(stderr, format, ap); | ||
62 | + va_end(ap); | ||
63 | + if (errnum) | ||
64 | + fprintf(stderr, ": %s", strerror(errnum)); | ||
65 | + fprintf(stderr, "\n"); | ||
66 | + error_message_count++; | ||
67 | + if (status) | ||
68 | + exit(status); | ||
69 | +} | ||
70 | + | ||
71 | +#endif /* _ERROR_H_ */ | ||