From 2c50fe7068bd6911958c6d851aef88179e73bb21 Mon Sep 17 00:00:00 2001 From: Mingli Yu Date: Tue, 16 Apr 2019 15:30:38 +0800 Subject: [PATCH] fix err variable and function conflicts There comes below build failure with musl when ptest enabled. | In file included from ../../elfutils-0.176/tests/dwfl-proc-attach.c:33: | ../../elfutils-0.176/lib/system.h:63:35: error: called object 'err' is not a function or function pointer | #define error(status, errno, ...) err(status, __VA_ARGS__) | ^~~ | ../../elfutils-0.176/tests/dwfl-proc-attach.c:92:5: note: in expansion of macro 'error' | error (-1, 0, "dwfl_linux_proc_attach pid %d: %s", pid, | ^~~~~ | ../../elfutils-0.176/tests/dwfl-proc-attach.c:79:7: note: declared here | int err; | ^~~ It is because there is no error.h in musl and the patch 0008-build-Provide-alternatives-for-glibc-assumptions-hel.patch has updated to use err.h to replace error.h and also added macro definiton as below when use musl. #define error(status, errno, ...) err(status, __VA_ARGS__) And in err.h, there is below logic: _Noreturn void err(int, const char *, ...); But when ptest enabled, there comes below error as there is both variable and function defined to be err in tests/dwfl-proc-attach.c. So change the err variable's name to workaround the build failure with musl. Upstream-Status: Inappropriate [workaround in musl] Signed-off-by: Mingli Yu --- tests/dwfl-proc-attach.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Index: elfutils-0.176/tests/dwfl-proc-attach.c =================================================================== --- elfutils-0.176.orig/tests/dwfl-proc-attach.c +++ elfutils-0.176/tests/dwfl-proc-attach.c @@ -76,10 +76,10 @@ main (int argc __attribute__ ((unused)), char **argv __attribute__ ((unused))) { /* Create two extra threads to iterate through. */ - int err; - if ((err = pthread_create (&thread1, NULL, sleeper, NULL)) != 0) + int err1; + if ((err1 = pthread_create (&thread1, NULL, sleeper, NULL)) != 0) error (-1, err, "Couldn't create thread1"); - if ((err = pthread_create (&thread2, NULL, sleeper, NULL)) != 0) + if ((err1 = pthread_create (&thread2, NULL, sleeper, NULL)) != 0) error (-1, err, "Couldn't create thread2"); Dwfl *dwfl = dwfl_begin (&proc_callbacks); Index: elfutils-0.176/tests/backtrace.c =================================================================== --- elfutils-0.176.orig/tests/backtrace.c +++ elfutils-0.176/tests/backtrace.c @@ -219,23 +219,23 @@ dump (Dwfl *dwfl) { ptrdiff_t ptrdiff = dwfl_getmodules (dwfl, dump_modules, NULL, 0); assert (ptrdiff == 0); - bool err = false; + bool err1 = false; switch (dwfl_getthreads (dwfl, thread_callback, NULL)) { case 0: break; case DWARF_CB_ABORT: - err = true; + err1 = true; break; case -1: error (0, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1)); - err = true; + err1 = true; break; default: abort (); } callback_verify (0, 0, 0, NULL, dwfl); - if (err) + if (err1) exit (EXIT_FAILURE); }