Files
poky/meta/recipes-devtools/elfutils/files/0001-fix-err-variable-and-function-conflicts.patch
Mingli Yu a5dd314fba elfutils: fix build failure with musl
Fix 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;
|        ^~~

The root cause is because the conflicts between
vairable and function name, so change the variable
name to workaround it.

(From OE-Core rev: 48dbb1bd980f7ed17a612fa7c1be298f14955c3f)

Signed-off-by: Mingli Yu <Mingli.Yu@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23 23:30:19 +01:00

63 lines
2.3 KiB
Diff

From 2c50fe7068bd6911958c6d851aef88179e73bb21 Mon Sep 17 00:00:00 2001
From: Mingli Yu <Mingli.Yu@windriver.com>
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 <Mingli.Yu@windriver.com>
---
tests/dwfl-proc-attach.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tests/dwfl-proc-attach.c b/tests/dwfl-proc-attach.c
index 102ba18..ad4208e 100644
--- a/tests/dwfl-proc-attach.c
+++ b/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);
--
2.7.4