debugedit: Use musl-legacy-error

Use error.h to provide GNU extentions for error API
Drop the patch trying to do something about it

(From OE-Core rev: b621363ab52669afc2915544b5686cc4fe455d5e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Khem Raj 2023-09-22 14:05:08 -07:00 committed by Richard Purdie
parent bb89cec62e
commit fc6b2a989b
2 changed files with 2 additions and 104 deletions

View File

@ -11,8 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
SRC_URI = "https://sourceware.org/ftp/debugedit/${PV}/debugedit-${PV}.tar.xz"
SRC_URI:append:libc-musl = " \
file://0001-tools-Add-error.h-for-non-glibc-case.patch \
SRC_URI:append:libc-musl = "\
file://0002-sepdebugcrcfix.c-do-not-use-64bit-variants.patch \
file://0003-Makefile.am-do-not-update-manual.patch \
"
@ -20,6 +19,7 @@ SRC_URI:append:libc-musl = " \
SRC_URI[sha256sum] = "e9ecd7d350bebae1f178ce6776ca19a648b6fe8fa22f5b3044b38d7899aa553e"
DEPENDS = "elfutils"
DEPENDS:append:libc-musl = " musl-legacy-error"
inherit pkgconfig autotools

View File

@ -1,102 +0,0 @@
From 4c797d3b559ba51bd9ccd9a2036245819acce843 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 23 Mar 2023 10:54:21 +0800
Subject: [PATCH] tools: Add error.h for non-glibc case
error is glibc specific API, so this patch will mostly not accepted
upstream given that elfutils has been closely tied to glibc
This is a OE specific workaround for musl.
Upstream-Status: Inappropriate [OE Specific]
Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
---
tools/debugedit.c | 7 ++++++-
tools/error.h | 27 +++++++++++++++++++++++++++
tools/sepdebugcrcfix.c | 7 ++++++-
3 files changed, 39 insertions(+), 2 deletions(-)
create mode 100644 tools/error.h
diff --git a/tools/debugedit.c b/tools/debugedit.c
index 668777a..a72c3c0 100644
--- a/tools/debugedit.c
+++ b/tools/debugedit.c
@@ -25,7 +25,6 @@
#include <byteswap.h>
#include <endian.h>
#include <errno.h>
-#include <error.h>
#include <limits.h>
#include <string.h>
#include <stdlib.h>
@@ -40,6 +39,12 @@
#include <gelf.h>
#include <dwarf.h>
+#ifdef __GLIBC__
+#include <error.h>
+#else
+#include "error.h"
+#endif
+
#ifndef MAX
#define MAX(m, n) ((m) < (n) ? (n) : (m))
#endif
diff --git a/tools/error.h b/tools/error.h
new file mode 100644
index 0000000..9b24418
--- /dev/null
+++ b/tools/error.h
@@ -0,0 +1,27 @@
+#ifndef _ERROR_H_
+#define _ERROR_H_
+
+#include <stdarg.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <errno.h>
+
+static unsigned int error_message_count = 0;
+
+static inline void error(int status, int errnum, const char* format, ...)
+{
+ va_list ap;
+ fprintf(stderr, "%s: ", program_invocation_name);
+ va_start(ap, format);
+ vfprintf(stderr, format, ap);
+ va_end(ap);
+ if (errnum)
+ fprintf(stderr, ": %s", strerror(errnum));
+ fprintf(stderr, "\n");
+ error_message_count++;
+ if (status)
+ exit(status);
+}
+
+#endif /* _ERROR_H_ */
diff --git a/tools/sepdebugcrcfix.c b/tools/sepdebugcrcfix.c
index da50e6c..c4a9d56 100644
--- a/tools/sepdebugcrcfix.c
+++ b/tools/sepdebugcrcfix.c
@@ -29,10 +29,15 @@
#include <endian.h>
#include <stdio.h>
#include <stdlib.h>
-#include <error.h>
#include <libelf.h>
#include <gelf.h>
+#ifdef __GLIBC__
+#include <error.h>
+#else
+#include "error.h"
+#endif
+
#ifndef _
#define _(x) x
#endif
--
2.17.1