diff mbox series

[meta-oe] minicoredumper: Upgrade to 2.0.2 release

Message ID 20230205005923.2559620-1-raj.khem@gmail.com
State New
Headers show
Series [meta-oe] minicoredumper: Upgrade to 2.0.2 release | expand

Commit Message

Khem Raj Feb. 5, 2023, 12:59 a.m. UTC
Drop patches already upstreamed.
Add patch to fix tests with clang compiler

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 ...-retry-elf-parsing-as-long-as-needed.patch | 128 ------------------
 ...emo-Use-optnone-attribute-with-clang.patch |  37 +++++
 ...mutexattr_setrobust_np-with-pthread_.patch |  33 -----
 ...umper_2.0.1.bb => minicoredumper_2.0.2.bb} |   7 +-
 4 files changed, 39 insertions(+), 166 deletions(-)
 delete mode 100644 meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch
 create mode 100644 meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper_demo-Use-optnone-attribute-with-clang.patch
 delete mode 100644 meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch
 rename meta-oe/recipes-kernel/minicoredumper/{minicoredumper_2.0.1.bb => minicoredumper_2.0.2.bb} (88%)
diff mbox series

Patch

diff --git a/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch b/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch
deleted file mode 100644
index 8d5b8b6cbb..0000000000
--- a/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch
+++ /dev/null
@@ -1,128 +0,0 @@ 
-From 7a8c6a06c86e133e4346b1dc66483bd8d0d3c716 Mon Sep 17 00:00:00 2001
-From: John Ogness <john.ogness@linutronix.de>
-Date: Tue, 24 Aug 2021 21:10:43 +0200
-Subject: [PATCH] minicoredumper: retry elf parsing as long as needed
-
-As was reported in github issue #2 ("maximum number of tries
-insufficient, in rare cases, for elf parse"), the number of retries
-for parsing a process may be insufficient. Rather than setting an
-upper limit on the maximum number of retries, track the number of
-headers seen. As long as the number of seen headers is greater than
-the previous try, try again.
-
-In order to avoid introducing any new issues, preserve the behavior
-of retrying at least 10 times, even if no new headers are seen.
-
-Reported-by: github.com/ssajal-wr
-Signed-off-by: John Ogness <john.ogness@linutronix.de>
-
-Upstream-Status: Backport [7a8c6a06c86e133e4346b1dc66483bd8d0d3c716]
-
-Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
----
- src/minicoredumper/corestripper.c | 30 +++++++++++++++++++++++-------
- 1 file changed, 23 insertions(+), 7 deletions(-)
-
-diff --git a/src/minicoredumper/corestripper.c b/src/minicoredumper/corestripper.c
-index d96d1df..c96b350 100644
---- a/src/minicoredumper/corestripper.c
-+++ b/src/minicoredumper/corestripper.c
-@@ -761,7 +761,7 @@ static int init_log(struct dump_info *di)
- typedef int elf_parse_cb(struct dump_info *di, Elf *elf, GElf_Phdr *phdr);
- 
- static int do_elf_ph_parse(struct dump_info *di, GElf_Phdr *type,
--			   elf_parse_cb *callback)
-+			   elf_parse_cb *callback, size_t *phnum_found)
- {
- 	GElf_Ehdr ehdr_mem;
- 	GElf_Ehdr *ehdr;
-@@ -770,6 +770,9 @@ static int do_elf_ph_parse(struct dump_info *di, GElf_Phdr *type,
- 	size_t phnum;
- 	size_t cnt;
- 
-+	if (phnum_found)
-+		*phnum_found = 0;
-+
- 	/* start from beginning of core */
- 	if (lseek64(di->elf_fd, 0, SEEK_SET) == -1) {
- 		info("lseek failed: %s", strerror(errno));
-@@ -809,6 +812,9 @@ static int do_elf_ph_parse(struct dump_info *di, GElf_Phdr *type,
- 		goto out;
- 	}
- 
-+	if (phnum_found)
-+		*phnum_found = phnum;
-+
- 	for (cnt = 0; cnt < phnum; cnt++) {
- 		GElf_Phdr phdr_mem;
- 		GElf_Phdr *phdr;
-@@ -891,7 +897,7 @@ static int vma_cb(struct dump_info *di, Elf *elf, GElf_Phdr *phdr)
- /*
-  * Tries to parse the found ELF headers and reads all vmas from it.
-  */
--static int parse_vma_info(struct dump_info *di)
-+static int parse_vma_info(struct dump_info *di, size_t *phnum_found)
- {
- 	unsigned long min_off = ULONG_MAX;
- 	unsigned long max_len = 0;
-@@ -911,7 +917,7 @@ static int parse_vma_info(struct dump_info *di)
- 	memset(&type, 0, sizeof(type));
- 	type.p_type = PT_LOAD;
- 	type.p_flags = PF_R;
--	if (do_elf_ph_parse(di, &type, vma_cb) != 0)
-+	if (do_elf_ph_parse(di, &type, vma_cb, phnum_found) != 0)
- 		return -1;
- 
- 	for (v = di->vma; v; v = v->next) {
-@@ -1614,8 +1620,10 @@ int add_core_data(struct dump_info *di, off64_t dest_offset, size_t len,
-  */
- static int init_src_core(struct dump_info *di, int src)
- {
-+	size_t last_phnum = 0;
- 	int tries = 0;
- 	int ret = -1;
-+	size_t phnum;
- 	size_t len;
- 	char *buf;
- 	long pos;
-@@ -1642,7 +1650,7 @@ again:
- 		goto out;
- 
- 	/* try to elf-parse the core to read vma info */
--	ret = parse_vma_info(di);
-+	ret = parse_vma_info(di, &phnum);
- 
- 	/* restore our position */
- 	if (lseek64(di->elf_fd, pos, SEEK_SET) == -1)
-@@ -1653,9 +1661,17 @@ again:
- 
- 		tries++;
- 
--		/* maybe try again */
--		if (tries < 10)
-+		if (phnum > last_phnum) {
-+			/* new headers found, keep trying */
-+			last_phnum = phnum;
- 			goto again;
-+		} else if (tries < 10) {
-+			/*
-+			 * even if no new headers are found,
-+			 * retry at least 10 times
-+			 */
-+			goto again;
-+		}
- 
- 		goto out;
- 	}
-@@ -2106,7 +2122,7 @@ static int dump_stacks(struct dump_info *di)
- 		/* find and set the first task */
- 		memset(&type, 0, sizeof(type));
- 		type.p_type = PT_NOTE;
--		do_elf_ph_parse(di, &type, note_cb);
-+		do_elf_ph_parse(di, &type, note_cb, NULL);
- 	}
- 
- 	if (di->first_pid)
--- 
-2.25.1
-
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper_demo-Use-optnone-attribute-with-clang.patch b/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper_demo-Use-optnone-attribute-with-clang.patch
new file mode 100644
index 0000000000..05371e5cd6
--- /dev/null
+++ b/meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper_demo-Use-optnone-attribute-with-clang.patch
@@ -0,0 +1,37 @@ 
+From abaac31d1cb4d0ba0e8e9ef7f344e62de3b150de Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sat, 4 Feb 2023 16:50:46 -0800
+Subject: [PATCH] minicoredumper_demo: Use 'optnone' attribute with clang
+
+clang does not support optimize("On") yet, therefore use optnone which
+should give intended results with clang compiler
+
+Upstream-Status: Submitted [https://github.com/diamon/minicoredumper/pull/7]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/minicoredumper_demo/main.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/src/minicoredumper_demo/main.c b/src/minicoredumper_demo/main.c
+index 65aac46..e60eb82 100644
+--- a/src/minicoredumper_demo/main.c
++++ b/src/minicoredumper_demo/main.c
+@@ -11,8 +11,13 @@
+ #include <sys/types.h>
+ 
+ #include "minicoredumper.h"
+-
+-int __attribute__((optimize("O0"))) main(int argc, char *argv[])
++int
++#ifdef __clang__
++__attribute__((optnone))
++#else
++__attribute__((optimize("O0")))
++#endif
++main(int argc, char *argv[])
+ {
+ 	char *str1 = "This is string 1.";
+ 	unsigned long val1 = 0x1abc123f;
+-- 
+2.39.1
+
diff --git a/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch b/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch
deleted file mode 100644
index 455e6f3181..0000000000
--- a/meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch
+++ /dev/null
@@ -1,33 +0,0 @@ 
-From 5895caba6573e84f73f159d9e84cd1aa7e969f18 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sun, 9 May 2021 14:37:00 -0700
-Subject: [PATCH] replace pthread_mutexattr_setrobust_np with
- pthread_mutexattr_setrobust
-
-This is now part of standard POSIX function [1]
-
-Upstream-Status: Submitted [https://github.com/diamon/minicoredumper/pull/3]
-
-[1] https://man7.org/linux/man-pages/man3/pthread_mutexattr_setrobust_np.3.html
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- src/minicoredumper_regd/daemon.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/minicoredumper_regd/daemon.c b/src/minicoredumper_regd/daemon.c
-index 115ec92..b9ad1ea 100644
---- a/src/minicoredumper_regd/daemon.c
-+++ b/src/minicoredumper_regd/daemon.c
-@@ -224,7 +224,7 @@ static int setup_shm(void)
- 
- 	pthread_mutexattr_init(&attr);
- 	pthread_mutexattr_setprotocol(&attr, PTHREAD_PRIO_INHERIT);
--	pthread_mutexattr_setrobust_np(&attr, PTHREAD_MUTEX_ROBUST_NP);
-+	pthread_mutexattr_setrobust(&attr, PTHREAD_MUTEX_ROBUST);
- 	pthread_mutexattr_setpshared(&attr, PTHREAD_PROCESS_SHARED);
- 	pthread_mutex_init(&sh->m, &attr);
- 
--- 
-2.31.1
-
diff --git a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.2.bb
similarity index 88%
rename from meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
rename to meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.2.bb
index 992de014f4..5763f845a6 100644
--- a/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb
+++ b/meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.2.bb
@@ -9,15 +9,12 @@  DEPENDS = "elfutils dbus dbus-glib-native glib-2.0 dbus-glib util-linux json-c"
 
 inherit autotools pkgconfig ptest systemd update-rc.d
 
-SRCREV = "16a0d44f1725eaa93096eaa0e086f42ef4c2712c"
-
-PR .= "+git${SRCPV}"
+SRCREV = "0bed11b3d69877ce59b1a71359349af60f2009ff"
 
 SRC_URI = "git://github.com/diamon/minicoredumper;protocol=https;branch=master \
-           file://0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch \
+           file://0001-minicoredumper_demo-Use-optnone-attribute-with-clang.patch \
            file://minicoredumper.service \
            file://minicoredumper.init \
-           file://0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch \
            file://run-ptest \
            "