From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S966344AbbLQEMF (ORCPT ); Wed, 16 Dec 2015 23:12:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:51012 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S966297AbbLQEMB (ORCPT ); Wed, 16 Dec 2015 23:12:01 -0500 Date: Wed, 16 Dec 2015 22:12:00 -0600 From: Josh Poimboeuf To: Arnaldo Carvalho de Melo Cc: Peter Zijlstra , Ingo Molnar , linux-kernel@vger.kernel.org, Jiri Olsa , Namhyung Kim Subject: Re: [PATCH v4 7/9] perf: Finalize subcmd independence Message-ID: <20151217041200.GB26149@treble.redhat.com> References: <6e12946f0f26ce4d543d34db68d9dae3c8551cb9.1450193761.git.jpoimboe@redhat.com> <20151217005741.GF19926@kernel.org> <20151217010953.GA26149@treble.redhat.com> <20151217012711.GG19926@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20151217012711.GG19926@kernel.org> User-Agent: Mutt/1.5.23.1-rc1 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Dec 16, 2015 at 10:27:11PM -0300, Arnaldo Carvalho de Melo wrote: > Em Wed, Dec 16, 2015 at 07:09:53PM -0600, Josh Poimboeuf escreveu: > > On Wed, Dec 16, 2015 at 09:57:41PM -0300, Arnaldo Carvalho de Melo wrote: > > > Em Tue, Dec 15, 2015 at 09:39:38AM -0600, Josh Poimboeuf escreveu: > > > > For the files that will be moved to the subcmd library, remove all their > > > > perf-specific includes and duplicate any needed functionality. > > > > > > Breaks rhel6.7 building: > > > > > > > > > > > +typedef uint64_t u64; > > > > + > > > > > > > > > [acme@sandy linux]$ cat /etc/redhat-release > > > Red Hat Enterprise Linux Server release 6.7 (Santiago) > > > > > > CC /tmp/build/perf/parse-options.o > > > parse-options.c:15: error: redefinition of typedef ‘u64’ > > > /home/acme/git/linux/tools/include/linux/types.h:28: note: previous > > > declaration of ‘u64’ was here > > > mv: cannot stat `/tmp/build/perf/.parse-options.o.tmp': No such file or > > > directory > > > make[3]: *** [/tmp/build/perf/parse-options.o] Error 1 > > > make[2]: *** [/tmp/build/perf/libsubcmd-in.o] Error 2 > > > make[1]: *** [/tmp/build/perf/libsubcmd.a] Error 2 > > > make[1]: *** Waiting for unfinished jobs.... > > > MKDIR /tmp/build/perf/util/ > > > > Does this fix it? > > Yes, and it continues to build on fedora 21. > > - Arnaldo > > > ---8<--- > > > > diff --git a/tools/lib/subcmd/parse-options.c b/tools/lib/subcmd/parse-options.c > > index f424027..981bb44 100644 > > --- a/tools/lib/subcmd/parse-options.c > > +++ b/tools/lib/subcmd/parse-options.c > > @@ -1,4 +1,5 @@ > > #include > > +#include > > #include > > #include > > #include > > @@ -12,8 +13,6 @@ > > #define OPT_SHORT 1 > > #define OPT_UNSET 2 > > > > -typedef uint64_t u64; > > - > > char *error_buf; > > > > static int opterror(const struct option *opt, const char *reason, int flags) Here's the same patch but without the unnecessary addition of the include. Ideally it would be folded into "perf tools: Finalize subcmd independence" but in case it's too late for that, I added a changelog. ---8<--- Subject: [PATCH] tools subcmd: Fix 'u64' build error with older compilers Arnaldo reported the following error when building perf on RHEL 6.7: parse-options.c:15: error: redefinition of typedef ‘u64’ /home/acme/git/linux/tools/include/linux/types.h:28: note: previous declaration of ‘u64’ was here The parse-options.c file includes , which includes , which has a u64 typedef. So the u64 typedef in parse-options.c is unnecessary (and seems to trigger the above error on compilers which don't allow duplicate typedefs). Reported-by: Arnaldo Carvalho de Melo Signed-off-by: Josh Poimboeuf --- tools/lib/subcmd/parse-options.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/tools/lib/subcmd/parse-options.c b/tools/lib/subcmd/parse-options.c index f424027..c0c911a 100644 --- a/tools/lib/subcmd/parse-options.c +++ b/tools/lib/subcmd/parse-options.c @@ -12,8 +12,6 @@ #define OPT_SHORT 1 #define OPT_UNSET 2 -typedef uint64_t u64; - char *error_buf; static int opterror(const struct option *opt, const char *reason, int flags) -- 2.4.3