On Wed, Nov 17, 2021 at 9:32 AM Alexander Kanavin <alex.kana...@gmail.com> wrote: > > On Wed, 17 Nov 2021 at 18:15, Khem Raj <raj.k...@gmail.com> wrote: >> >> > Rework support for error() on non-glibc targets: >> > upstream now provides its own implementation, so we can drop >> > the patch that adds ours; said implementation isn't >> > build-tested with tests, so ptest has to be disabled on musl. >> >> Overall this is an improvement so I am good with this patch. >> if upstream implementation does not pass ptests >> perhaps worth reporting upstream. > > > I would if upstream would be interested in tests with anything except glibc, > but I'm fairly sure they're not. The tests don't even build with musl without > invasive patching. >
thats fine, there is enough folks who will come around and fix it perhaps from alpine and other places. > Alex > > >> >> >> > This, in turns, allows dropping 0004-Fix-error-on-musl.patch. >> > >> > License-Update: copyright years >> > Signed-off-by: Alexander Kanavin <a...@linutronix.de> >> > --- >> > .../{elfutils_0.185.bb => elfutils_0.186.bb} | 12 +- >> > ...ompilation-on-platforms-without-erro.patch | 54 +++++++ >> > .../elfutils/files/0002-musl-libs.patch | 118 --------------- >> > .../elfutils/files/0003-musl-utils.patch | 6 +- >> > .../files/0004-Fix-error-on-musl.patch | 36 ----- >> > .../0015-config-eu.am-do-not-use-Werror.patch | 8 +- >> > .../elfutils/files/glibc-2.34-fix.patch | 138 ------------------ >> > 7 files changed, 65 insertions(+), 307 deletions(-) >> > rename meta/recipes-devtools/elfutils/{elfutils_0.185.bb => >> > elfutils_0.186.bb} (95%) >> > create mode 100644 >> > meta/recipes-devtools/elfutils/files/0001-debuginfod-fix-compilation-on-platforms-without-erro.patch >> > delete mode 100644 >> > meta/recipes-devtools/elfutils/files/0002-musl-libs.patch >> > delete mode 100644 >> > meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch >> > delete mode 100644 >> > meta/recipes-devtools/elfutils/files/glibc-2.34-fix.patch >> > >> > diff --git a/meta/recipes-devtools/elfutils/elfutils_0.185.bb >> > b/meta/recipes-devtools/elfutils/elfutils_0.186.bb >> > similarity index 95% >> > rename from meta/recipes-devtools/elfutils/elfutils_0.185.bb >> > rename to meta/recipes-devtools/elfutils/elfutils_0.186.bb >> > index f4769e3632..b3588a2196 100644 >> > --- a/meta/recipes-devtools/elfutils/elfutils_0.185.bb >> > +++ b/meta/recipes-devtools/elfutils/elfutils_0.186.bb >> > @@ -4,7 +4,7 @@ DESCRIPTION = "elfutils is a collection of utilities and >> > libraries to read, crea >> > SECTION = "base" >> > LICENSE = "GPLv2 & GPLv2+ & LGPLv3+ & GPLv3+" >> > LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ >> > - >> > file://debuginfod/debuginfod-client.c;endline=27;md5=f8e9d171c401c493ec45a0b2992ea2ed >> > \ >> > + >> > file://debuginfod/debuginfod-client.c;endline=27;md5=d2adfd8f5347d4c96e3c280393ce66da >> > \ >> > " >> > DEPENDS = "zlib virtual/libintl" >> > DEPENDS:append:libc-musl = " argp-standalone fts musl-obstack " >> > @@ -22,20 +22,16 @@ SRC_URI = >> > "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \ >> > file://ptest.patch \ >> > >> > file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \ >> > >> > file://0001-debuginfod-debuginfod-client.c-correct-string-format.patch \ >> > - file://glibc-2.34-fix.patch \ >> > + >> > file://0001-debuginfod-fix-compilation-on-platforms-without-erro.patch \ >> > " >> > SRC_URI:append:libc-musl = " \ >> > - file://0002-musl-libs.patch \ >> > file://0003-musl-utils.patch \ >> > - file://0004-Fix-error-on-musl.patch \ >> > file://0015-config-eu.am-do-not-use-Werror.patch \ >> > " >> > -SRC_URI[sha256sum] = >> > "dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6" >> > - >> > -# remove at next version upgrade or when output changes >> > -PR = "r1" >> > +SRC_URI[sha256sum] = >> > "7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177" >> > >> > inherit autotools gettext ptest pkgconfig >> > +PTEST_ENABLED:libc-musl = "0" >> > >> > EXTRA_OECONF = "--program-prefix=eu-" >> > >> > diff --git >> > a/meta/recipes-devtools/elfutils/files/0001-debuginfod-fix-compilation-on-platforms-without-erro.patch >> > >> > b/meta/recipes-devtools/elfutils/files/0001-debuginfod-fix-compilation-on-platforms-without-erro.patch >> > new file mode 100644 >> > index 0000000000..e80d96aaca >> > --- /dev/null >> > +++ >> > b/meta/recipes-devtools/elfutils/files/0001-debuginfod-fix-compilation-on-platforms-without-erro.patch >> > @@ -0,0 +1,54 @@ >> > +From 99617d7ab5b01c322b0f27d4aa0dd91c61793a5e Mon Sep 17 00:00:00 2001 >> > +From: =?UTF-8?q?=C3=89rico=20Nogueira?= <erico....@gmail.com> >> > +Date: Wed, 10 Nov 2021 21:17:48 -0300 >> > +Subject: [PATCH] debuginfod: fix compilation on platforms without >> > <error.h> >> > +MIME-Version: 1.0 >> > +Content-Type: text/plain; charset=UTF-8 >> > +Content-Transfer-Encoding: 8bit >> > + >> > +"system.h" only declares the error() function, so it needs to be in an >> > +'extern "C"' block, otherwise linking fails. >> > + >> > +Since we are here, use quotes for "system.h" header, since it's a local >> > +header, not a system one. >> > + >> > +Upstream-Status: Backport >> > [https://sourceware.org/git/?p=elfutils.git;a=commit;h=90b9e91b961b794a4e58ab76d9191a5e7343584e] >> > +Signed-off-by: Érico Nogueira <erico....@gmail.com> >> > +Signed-off-by: Alexander Kanavin <a...@linutronix.de> >> > +--- >> > + debuginfod/ChangeLog | 4 ++++ >> > + debuginfod/debuginfod.cxx | 2 +- >> > + 2 files changed, 5 insertions(+), 1 deletion(-) >> > + >> > +diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog >> > +index f06d3ee..822bd63 100644 >> > +--- a/debuginfod/ChangeLog >> > ++++ b/debuginfod/ChangeLog >> > +@@ -1,3 +1,7 @@ >> > ++2021-11-10 Érico N. Rolim <erico....@gmail.com> >> > ++ >> > ++ * debuginfod.cxx: include "system.h" under 'extern "C"' block. >> > ++ >> > + 2021-11-05 Frank Ch. Eigler <f...@redhat.com> >> > + >> > + PR28430 >> > +diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx >> > +index 521cb52..764e7b9 100644 >> > +--- a/debuginfod/debuginfod.cxx >> > ++++ b/debuginfod/debuginfod.cxx >> > +@@ -33,11 +33,11 @@ >> > + >> > + extern "C" { >> > + #include "printversion.h" >> > ++#include "system.h" >> > + } >> > + >> > + #include "debuginfod.h" >> > + #include <dwarf.h> >> > +-#include <system.h> >> > + >> > + #include <argp.h> >> > + #ifdef __GNUC__ >> > +-- >> > +2.20.1 >> > + >> > diff --git a/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch >> > b/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch >> > deleted file mode 100644 >> > index c7360da7a7..0000000000 >> > --- a/meta/recipes-devtools/elfutils/files/0002-musl-libs.patch >> > +++ /dev/null >> > @@ -1,118 +0,0 @@ >> > -From 0f4667f0bb4b000d74ade07e90bd690b7217a19d Mon Sep 17 00:00:00 2001 >> > -From: Hongxu Jia <hongxu....@windriver.com> >> > -Date: Fri, 23 Aug 2019 10:18:47 +0800 >> > -Subject: [PATCH] musl-libs >> > - >> > -Collection of fixes needed to compile libelf and other libraries >> > -provided by elfutils for musl targets >> > - >> > -error is glibc specific API, so this patch will mostly not accepted >> > -upstream given that elfutils has been closely tied to glibc >> > - >> > -Signed-off-by: Khem Raj <raj.k...@gmail.com> >> > -Upstream-Status: Inappropriate [workaround for musl] >> > - >> > -Rebase to 0.177 >> > -Signed-off-by: Hongxu Jia <hongxu....@windriver.com> >> > - >> > ---- >> > - lib/error.h | 27 +++++++++++++++++++++++++++ >> > - lib/fixedsizehash.h | 1 - >> > - lib/libeu.h | 1 + >> > - libdwfl/linux-kernel-modules.c | 1 + >> > - libelf/elf.h | 7 +++++++ >> > - 5 files changed, 36 insertions(+), 1 deletion(-) >> > - create mode 100644 lib/error.h >> > - >> > -diff --git a/lib/error.h b/lib/error.h >> > -new file mode 100644 >> > -index 0000000..ef06827 >> > ---- /dev/null >> > -+++ b/lib/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/lib/fixedsizehash.h b/lib/fixedsizehash.h >> > -index dac2a5f..43016fc 100644 >> > ---- a/lib/fixedsizehash.h >> > -+++ b/lib/fixedsizehash.h >> > -@@ -30,7 +30,6 @@ >> > - #include <errno.h> >> > - #include <stdlib.h> >> > - #include <string.h> >> > --#include <sys/cdefs.h> >> > - >> > - #include <system.h> >> > - >> > -diff --git a/lib/libeu.h b/lib/libeu.h >> > -index ecb4d01..edc85e3 100644 >> > ---- a/lib/libeu.h >> > -+++ b/lib/libeu.h >> > -@@ -29,6 +29,7 @@ >> > - #ifndef LIBEU_H >> > - #define LIBEU_H >> > - >> > -+#include "system.h" >> > - #include <stddef.h> >> > - #include <stdint.h> >> > - >> > -diff --git a/libdwfl/linux-kernel-modules.c >> > b/libdwfl/linux-kernel-modules.c >> > -index c0f8dfa..aa78033 100644 >> > ---- a/libdwfl/linux-kernel-modules.c >> > -+++ b/libdwfl/linux-kernel-modules.c >> > -@@ -50,6 +50,7 @@ >> > - #include <sys/utsname.h> >> > - #include <fcntl.h> >> > - #include <unistd.h> >> > -+#include "system.h" >> > - >> > - /* If fts.h is included before config.h, its indirect inclusions may not >> > - give us the right LFS aliases of these functions, so map them >> > manually. */ >> > -diff --git a/libelf/elf.h b/libelf/elf.h >> > -index 8e3e618..1353890 100644 >> > ---- a/libelf/elf.h >> > -+++ b/libelf/elf.h >> > -@@ -19,6 +19,10 @@ >> > - #ifndef _ELF_H >> > - #define _ELF_H 1 >> > - >> > -+#ifdef __cplusplus >> > -+extern "C" { >> > -+#endif >> > -+ >> > - /* Standard ELF types. */ >> > - >> > - #include <stdint.h> >> > -@@ -4102,4 +4106,7 @@ enum >> > - #define R_ARC_TLS_LE_S9 0x4a >> > - #define R_ARC_TLS_LE_32 0x4b >> > - >> > -+#ifdef __cplusplus >> > -+} >> > -+#endif >> > - #endif /* elf.h */ >> > diff --git a/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch >> > b/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch >> > index 2e379cdba6..85f8140330 100644 >> > --- a/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch >> > +++ b/meta/recipes-devtools/elfutils/files/0003-musl-utils.patch >> > @@ -1,4 +1,4 @@ >> > -From 2f94d488bf3daaa6a8548ee77120fc2506a9bbe3 Mon Sep 17 00:00:00 2001 >> > +From 934d21dc0b06b95c7c65cb29c5096decd91d4d5f Mon Sep 17 00:00:00 2001 >> > From: Hongxu Jia <hongxu....@windriver.com> >> > Date: Fri, 23 Aug 2019 10:19:48 +0800 >> > Subject: [PATCH] musl-utils >> > @@ -57,7 +57,7 @@ index 2c6d91b..608646e 100644 >> > ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; >> > >> > diff --git a/src/strip.c b/src/strip.c >> > -index 70fc8c0..d035d9e 100644 >> > +index d5b753d..d6e1b64 100644 >> > --- a/src/strip.c >> > +++ b/src/strip.c >> > @@ -46,6 +46,13 @@ >> > @@ -75,7 +75,7 @@ index 70fc8c0..d035d9e 100644 >> > >> > /* Name and version of program. */ >> > diff --git a/src/unstrip.c b/src/unstrip.c >> > -index e488e81..0e44456 100644 >> > +index aacc9aa..5e71290 100644 >> > --- a/src/unstrip.c >> > +++ b/src/unstrip.c >> > @@ -52,6 +52,15 @@ >> > diff --git >> > a/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch >> > b/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch >> > deleted file mode 100644 >> > index 2fa60c333c..0000000000 >> > --- a/meta/recipes-devtools/elfutils/files/0004-Fix-error-on-musl.patch >> > +++ /dev/null >> > @@ -1,36 +0,0 @@ >> > -From 72819106d0e5666d172d39c24c19e4e7a3b8be0e Mon Sep 17 00:00:00 2001 >> > -From: Richard Purdie <richard.pur...@linuxfoundation.org> >> > -Date: Wed, 1 May 2019 22:15:03 +0100 >> > -Subject: [PATCH] Fix error on musl: >> > - >> > -| ../../elfutils-0.176/tests/elfstrmerge.c: In function 'main': >> > -| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: error: 'ALLPERMS' >> > undeclared (first use in this function); did you mean 'EPERM'? >> > -| fdnew = open (fnew, O_WRONLY | O_CREAT, st.st_mode & ALLPERMS); >> > -| ^~~~~~~~ >> > -| EPERM >> > -| ../../elfutils-0.176/tests/elfstrmerge.c:370:60: note: each undeclared >> > identifier is reported only once for each function it appears in >> > - >> > -Upstream-Status: Inappropriate [workaround in musl] >> > - >> > -Signed-off-by: Richard Purdie <richard.pur...@linuxfoundation.org> >> > - >> > ---- >> > - tests/elfstrmerge.c | 5 +++++ >> > - 1 file changed, 5 insertions(+) >> > - >> > -diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c >> > -index 197c6a5..3683672 100644 >> > ---- a/tests/elfstrmerge.c >> > -+++ b/tests/elfstrmerge.c >> > -@@ -33,6 +33,11 @@ >> > - #include ELFUTILS_HEADER(dwelf) >> > - #include "elf-knowledge.h" >> > - >> > -+/* for musl */ >> > -+#ifndef ALLPERMS >> > -+# define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO)/* >> > 07777 */ >> > -+#endif >> > -+ >> > - /* The original ELF file. */ >> > - static int fd = -1; >> > - static Elf *elf = NULL; >> > diff --git >> > a/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch >> > >> > b/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch >> > index 5cd6fffc27..c96cfd9777 100644 >> > --- >> > a/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch >> > +++ >> > b/meta/recipes-devtools/elfutils/files/0015-config-eu.am-do-not-use-Werror.patch >> > @@ -1,4 +1,4 @@ >> > -From cfced441d4a6f2eca51d29c52240275bd6f54e49 Mon Sep 17 00:00:00 2001 >> > +From a2ce41e91d530459eb35d64a19f714ebfe0d4a20 Mon Sep 17 00:00:00 2001 >> > From: Alexander Kanavin <alex.kana...@gmail.com> >> > Date: Mon, 22 Jun 2020 21:35:16 +0000 >> > Subject: [PATCH] config/eu.am: do not use -Werror >> > @@ -16,10 +16,10 @@ Signed-off-by: Alexander Kanavin >> > <alex.kana...@gmail.com> >> > 1 file changed, 2 deletions(-) >> > >> > diff --git a/config/eu.am b/config/eu.am >> > -index 2c3e457..8fb0411 100644 >> > +index 58cd3c4..ac42390 100644 >> > --- a/config/eu.am >> > +++ b/config/eu.am >> > -@@ -89,7 +89,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ >> > +@@ -91,7 +91,6 @@ AM_CFLAGS = -std=gnu99 -Wall -Wshadow -Wformat=2 \ >> > -Wold-style-definition -Wstrict-prototypes >> > $(TRAMPOLINES_WARNING) \ >> > $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ >> > $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ >> > @@ -27,7 +27,7 @@ index 2c3e457..8fb0411 100644 >> > $(if $($(*F)_no_Wunused),,-Wunused -Wextra) \ >> > $(if $($(*F)_no_Wstack_usage),,$(STACK_USAGE_WARNING)) \ >> > $(if >> > $($(*F)_no_Wpacked_not_aligned),$(NO_PACKED_NOT_ALIGNED_WARNING),) \ >> > -@@ -99,7 +98,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ >> > +@@ -101,7 +100,6 @@ AM_CXXFLAGS = -std=c++11 -Wall -Wshadow \ >> > $(TRAMPOLINES_WARNING) \ >> > $(LOGICAL_OP_WARNING) $(DUPLICATED_COND_WARNING) \ >> > $(NULL_DEREFERENCE_WARNING) $(IMPLICIT_FALLTHROUGH_WARNING) \ >> > diff --git a/meta/recipes-devtools/elfutils/files/glibc-2.34-fix.patch >> > b/meta/recipes-devtools/elfutils/files/glibc-2.34-fix.patch >> > deleted file mode 100644 >> > index 9509fb4e77..0000000000 >> > --- a/meta/recipes-devtools/elfutils/files/glibc-2.34-fix.patch >> > +++ /dev/null >> > @@ -1,138 +0,0 @@ >> > -glibc 2.34 calls pthread_kill from the raise function. Before raise >> > -directly called the (tg)kill syscall. So allow pthread_kill to be the >> > -first frame in a backtrace where raise is expected. Also change some >> > -asserts to fprintf plus abort to make it more clear why the testcase >> > -fails. >> > - >> > -https://sourceware.org/bugzilla/show_bug.cgi?id=28190 >> > - >> > -Signed-off-by: Mark Wielaard <m...@klomp.org> >> > -Upstream-Status: Submitted >> > [https://sourceware.org/pipermail/elfutils-devel/2021q3/004019.html] >> > ---- >> > - tests/ChangeLog | 6 +++++ >> > - tests/backtrace.c | 62 +++++++++++++++++++++++++++++++++++++++++------ >> > - 2 files changed, 61 insertions(+), 7 deletions(-) >> > - >> > -Index: elfutils-0.185/tests/ChangeLog >> > -=================================================================== >> > ---- elfutils-0.185.orig/tests/ChangeLog >> > -+++ elfutils-0.185/tests/ChangeLog >> > -@@ -1,3 +1,9 @@ >> > -+2021-08-04 Mark Wielaard <m...@klomp.org> >> > -+ >> > -+ PR28190 >> > -+ * backtrace.c (callback_verify): Check for pthread_kill as first >> > -+ frame. Change asserts to fprintf plus abort. >> > -+ >> > - 2021-05-14 Frank Ch. Eigler <f...@redhat.com> >> > - >> > - PR27859 >> > -Index: elfutils-0.185/tests/backtrace.c >> > -=================================================================== >> > ---- elfutils-0.185.orig/tests/backtrace.c >> > -+++ elfutils-0.185/tests/backtrace.c >> > -@@ -97,6 +97,9 @@ callback_verify (pid_t tid, unsigned fra >> > - static bool reduce_frameno = false; >> > - if (reduce_frameno) >> > - frameno--; >> > -+ static bool pthread_kill_seen = false; >> > -+ if (pthread_kill_seen) >> > -+ frameno--; >> > - if (! use_raise_jmp_patching && frameno >= 2) >> > - frameno += 2; >> > - const char *symname2 = NULL; >> > -@@ -107,11 +110,26 @@ callback_verify (pid_t tid, unsigned fra >> > - && (strcmp (symname, "__kernel_vsyscall") == 0 >> > - || strcmp (symname, "__libc_do_syscall") == 0)) >> > - reduce_frameno = true; >> > -+ else if (! pthread_kill_seen && symname >> > -+ && strstr (symname, "pthread_kill") != NULL) >> > -+ pthread_kill_seen = true; >> > - else >> > -- assert (symname && strcmp (symname, "raise") == 0); >> > -+ { >> > -+ if (!symname || strcmp (symname, "raise") != 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "case 0: expected symname 'raise' got '%s'\n", >> > symname); >> > -+ abort (); >> > -+ } >> > -+ } >> > - break; >> > - case 1: >> > -- assert (symname != NULL && strcmp (symname, "sigusr2") == 0); >> > -+ if (symname == NULL || strcmp (symname, "sigusr2") != 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "case 1: expected symname 'sigusr2' got '%s'\n", >> > symname); >> > -+ abort (); >> > -+ } >> > - break; >> > - case 2: // x86_64 only >> > - /* __restore_rt - glibc maybe does not have to have this symbol. >> > */ >> > -@@ -120,11 +138,21 @@ callback_verify (pid_t tid, unsigned fra >> > - if (use_raise_jmp_patching) >> > - { >> > - /* Verify we trapped on the very first instruction of jmp. */ >> > -- assert (symname != NULL && strcmp (symname, "jmp") == 0); >> > -+ if (symname == NULL || strcmp (symname, "jmp") != 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "case 3: expected symname 'raise' got '%s'\n", >> > symname); >> > -+ abort (); >> > -+ } >> > - mod = dwfl_addrmodule (dwfl, pc - 1); >> > - if (mod) >> > - symname2 = dwfl_module_addrname (mod, pc - 1); >> > -- assert (symname2 == NULL || strcmp (symname2, "jmp") != 0); >> > -+ if (symname2 == NULL || strcmp (symname2, "jmp") != 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "case 3: expected symname2 'jmp' got '%s'\n", >> > symname2); >> > -+ abort (); >> > -+ } >> > - break; >> > - } >> > - FALLTHROUGH; >> > -@@ -137,11 +165,22 @@ callback_verify (pid_t tid, unsigned fra >> > - duplicate_sigusr2 = true; >> > - break; >> > - } >> > -- assert (symname != NULL && strcmp (symname, "stdarg") == 0); >> > -+ if (symname == NULL || strcmp (symname, "stdarg") != 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "case 4: expected symname 'stdarg' got '%s'\n", >> > symname); >> > -+ abort (); >> > -+ } >> > - break; >> > - case 5: >> > - /* Verify we trapped on the very last instruction of child. */ >> > -- assert (symname != NULL && strcmp (symname, "backtracegen") == 0); >> > -+ if (symname == NULL || strcmp (symname, "backtracegen") != 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "case 5: expected symname 'backtracegen' got '%s'\n", >> > -+ symname); >> > -+ abort (); >> > -+ } >> > - mod = dwfl_addrmodule (dwfl, pc); >> > - if (mod) >> > - symname2 = dwfl_module_addrname (mod, pc); >> > -@@ -151,7 +190,15 @@ callback_verify (pid_t tid, unsigned fra >> > - // instructions or even inserts some padding instructions at the >> > end >> > - // (which apparently happens on ppc64). >> > - if (use_raise_jmp_patching) >> > -- assert (symname2 == NULL || strcmp (symname2, "backtracegen") != >> > 0); >> > -+ { >> > -+ if (symname2 != NULL && strcmp (symname2, "backtracegen") == 0) >> > -+ { >> > -+ fprintf (stderr, >> > -+ "use_raise_jmp_patching didn't expect symname2 " >> > -+ "'backtracegen'\n"); >> > -+ abort (); >> > -+ } >> > -+ } >> > - break; >> > - } >> > - } >> > -- >> > 2.20.1 >> >
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#158444): https://lists.openembedded.org/g/openembedded-core/message/158444 Mute This Topic: https://lists.openembedded.org/mt/87121996/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-