From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932518AbdIHILj (ORCPT ); Fri, 8 Sep 2017 04:11:39 -0400 Received: from mout02.posteo.de ([185.67.36.142]:36895 "EHLO mout02.posteo.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932424AbdIHILe (ORCPT ); Fri, 8 Sep 2017 04:11:34 -0400 X-Greylist: delayed 443 seconds by postgrey-1.27 at vger.kernel.org; Fri, 08 Sep 2017 04:11:34 EDT Message-ID: <1504857845.6709.2.camel@embedded.rocks> Subject: Re: [PATCH 33/35] perf bench futex: Fix build on musl + clang From: =?ISO-8859-1?Q?J=F6rg?= Krause To: Arnaldo Carvalho de Melo , Ingo Molnar Cc: linux-kernel@vger.kernel.org, Arnaldo Carvalho de Melo , Adrian Hunter , David Ahern , Davidlohr Bueso , Jiri Olsa , Namhyung Kim , Wang Nan Date: Fri, 08 Sep 2017 10:04:05 +0200 In-Reply-To: <20170306193825.24011-34-acme@kernel.org> References: <20170306193825.24011-1-acme@kernel.org> <20170306193825.24011-34-acme@kernel.org> Organization: Embedded Rocks Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.24.5 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Arnaldo, On Mon, 2017-03-06 at 16:38 -0300, Arnaldo Carvalho de Melo wrote: > From: Arnaldo Carvalho de Melo > > When building with clang on a musl libc system, Alpine Linux, we end up > hitting a problem where memset() is used but its prototype is not > present, add it to avoid this: > > bench/futex-wake.c:99:3: error: implicitly declaring library function 'memset' with type 'void *(void *, int, unsigned long)' > [-Werror,-Wimplicit-function-declaration] > CPU_ZERO(&cpu); > ^ > /usr/include/sched.h:127:23: note: expanded from macro 'CPU_ZERO' > #define CPU_ZERO(set) CPU_ZERO_S(sizeof(cpu_set_t),set) > ^ > /usr/include/sched.h:110:30: note: expanded from macro 'CPU_ZERO_S' > #define CPU_ZERO_S(size,set) memset(set,0,size) > ^ > bench/futex-wake.c:99:3: note: include the header or explicitly provide a declaration for 'memset' In my opinion the musl header file should include . I've reported the issue to the musl mailing list: http://www.openwall.com/lists/musl/2017/09/08/1 > Found while updating my test build containers to build perf with clang in more > systems. > > Cc: Adrian Hunter > Cc: David Ahern > Cc: Davidlohr Bueso > Cc: Jiri Olsa > Cc: Namhyung Kim > Cc: Wang Nan > Link: http://lkml.kernel.org/n/tip-jh10vaz2r98zl6gm5iau8prr@git.kernel.org > Signed-off-by: Arnaldo Carvalho de Melo > --- > tools/perf/bench/futex-hash.c | 1 + > tools/perf/bench/futex-lock-pi.c | 1 + > tools/perf/bench/futex-requeue.c | 1 + > tools/perf/bench/futex-wake-parallel.c | 1 + > tools/perf/bench/futex-wake.c | 1 + > 5 files changed, 5 insertions(+) > > diff --git a/tools/perf/bench/futex-hash.c b/tools/perf/bench/futex-hash.c > index da04b8c5568a..2499e1b0c6fb 100644 > --- a/tools/perf/bench/futex-hash.c > +++ b/tools/perf/bench/futex-hash.c > @@ -9,6 +9,7 @@ > */ > > /* For the CLR_() macros */ > +#include > #include > > #include > diff --git a/tools/perf/bench/futex-lock-pi.c b/tools/perf/bench/futex-lock-pi.c > index 91877777ec6e..a20814d94af1 100644 > --- a/tools/perf/bench/futex-lock-pi.c > +++ b/tools/perf/bench/futex-lock-pi.c > @@ -3,6 +3,7 @@ > */ > > /* For the CLR_() macros */ > +#include > #include > > #include > diff --git a/tools/perf/bench/futex-requeue.c b/tools/perf/bench/futex-requeue.c > index 2b9705a8734c..9fad1e4fcd3e 100644 > --- a/tools/perf/bench/futex-requeue.c > +++ b/tools/perf/bench/futex-requeue.c > @@ -9,6 +9,7 @@ > */ > > /* For the CLR_() macros */ > +#include > #include > > #include > diff --git a/tools/perf/bench/futex-wake-parallel.c b/tools/perf/bench/futex-wake-parallel.c > index 2c8fa67ad537..40f5fcf1d120 100644 > --- a/tools/perf/bench/futex-wake-parallel.c > +++ b/tools/perf/bench/futex-wake-parallel.c > @@ -8,6 +8,7 @@ > */ > > /* For the CLR_() macros */ > +#include > #include > > #include > diff --git a/tools/perf/bench/futex-wake.c b/tools/perf/bench/futex-wake.c > index e246b1b8388a..789490281ae3 100644 > --- a/tools/perf/bench/futex-wake.c > +++ b/tools/perf/bench/futex-wake.c > @@ -9,6 +9,7 @@ > */ > > /* For the CLR_() macros */ > +#include > #include > > #include Best regards, Jörg Krause