Re: [PATCH v4 7/9] perf: Finalize subcmd independence

Josh Poimboeuf
2015-12-17T01:10:09Z

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:
>
> > #include "run-command.h"
> > #include "sigchain.h"
> > #include "subcmd-config.h"
> > diff --git a/tools/perf/util/parse-options.c b/tools/perf/util/parse-options.c
> > index c1da2a5..f424027 100644
> > --- a/tools/perf/util/parse-options.c
> > +++ b/tools/perf/util/parse-options.c
> > @@ -1,33 +1,47 @@
> > -#include "util.h"
> > +#include <linux/compiler.h>
> > +#include <stdio.h>
> > +#include <stdlib.h>
> > +#include <stdint.h>
> > +#include <string.h>
> > +#include <ctype.h>
> > #include "subcmd-util.h"
> > #include "parse-options.h"
> > -#include "cache.h"
> > -#include "header.h"
> > #include "subcmd-config.h"
> > -#include <linux/string.h>
> > +#include "pager.h"
> >
> > #define OPT_SHORT 1
> > #define OPT_UNSET 2
> >
> > +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?

---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 <linux/compiler.h>
+#include <linux/types.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
@@ -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)