diff options
author | Khem Raj <raj.khem@gmail.com> | 2023-02-04 16:58:22 -0800 |
---|---|---|
committer | Khem Raj <raj.khem@gmail.com> | 2023-02-04 16:59:40 -0800 |
commit | 5c43f2b9a15bc21d1532233b958cbf5abd29ad14 (patch) | |
tree | cb91ace66b19a9e5f07574e287b6f66f2357b4fe /meta-oe | |
parent | 5da852a616209288470708da6f5ddb5647ab69c1 (diff) | |
download | meta-openembedded-contrib-5c43f2b9a15bc21d1532233b958cbf5abd29ad14.tar.gz |
minicoredumper: Upgrade to 2.0.2 release
Drop patches already upstreamed.
Add patch to fix tests with clang compiler
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe')
-rw-r--r-- | meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper-retry-elf-parsing-as-long-as-needed.patch | 128 | ||||
-rw-r--r-- | meta-oe/recipes-kernel/minicoredumper/files/0001-minicoredumper_demo-Use-optnone-attribute-with-clang.patch | 37 | ||||
-rw-r--r-- | meta-oe/recipes-kernel/minicoredumper/files/0001-replace-pthread_mutexattr_setrobust_np-with-pthread_.patch | 33 | ||||
-rw-r--r-- | meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.2.bb (renamed from meta-oe/recipes-kernel/minicoredumper/minicoredumper_2.0.1.bb) | 7 |
4 files changed, 39 insertions, 166 deletions
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 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 \ " |