summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/rpm/files/0001-tools-Add-error.h-for-non-glibc-case.patch
diff options
context:
space:
mode:
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.patch71
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 @@
1From 9b9d717f484ec913cdd3804e43489b3dc18bd77c Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 31 Oct 2020 22:14:05 -0700
4Subject: [PATCH] tools: Add error.h for non-glibc case
5
6error is glibc specific API, so this patch will mostly not accepted
7upstream given that elfutils has been closely tied to glibc
8
9Upstream-Status: Inappropriate [workaround for musl]
10
11Signed-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
19diff --git a/tools/elfdeps.c b/tools/elfdeps.c
20index 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>
39diff --git a/tools/error.h b/tools/error.h
40new file mode 100644
41index 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_ */