Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1284296 > unrolled thread

[PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

Started byJosh Poimboeuf <jpoimboe@redhat.com>
First post2015-12-04 23:10 +0100
Last post2015-12-06 19:30 +0100
Articles 11 — 4 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools Josh Poimboeuf <jpoimboe@redhat.com> - 2015-12-04 23:10 +0100
    Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Ingo Molnar <mingo@kernel.org> - 2015-12-06 10:40 +0100
      Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Jiri Olsa <jolsa@redhat.com> - 2015-12-06 17:00 +0100
        Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Josh Poimboeuf <jpoimboe@redhat.com> - 2015-12-06 21:10 +0100
          Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Jiri Olsa <jolsa@redhat.com> - 2015-12-07 09:50 +0100
            Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-08 16:00 +0100
              Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-08 16:30 +0100
                Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-08 16:50 +0100
              Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Josh Poimboeuf <jpoimboe@redhat.com> - 2015-12-08 16:30 +0100
            Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-08 16:00 +0100
      Re: [PATCH 00/13] perf tools: Move perf subcommand framework into  lib/tools Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-12-06 19:30 +0100

#1284296 — [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromJosh Poimboeuf <jpoimboe@redhat.com>
Date2015-12-04 23:10 +0100
Subject[PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qC6yu-8fV-17@gated-at.bofh.it>
Ingo suggested that I factor out the perf subcommand functionality
(originally copied from git) into tools/lib so that it can be used by
stacktool[*] and possibly others.

All the subcommand option handling files have been moved into libapi,
including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
and their dependencies.  Since several of the dependencies are more
general-purpose "utilities" which aren't directly related to
subcommands, I put everything in 'tools/lib/api/util'.  They're linked
into perf as part of the libapi.a library.

Patches 1-10 do some cleanups and splitting up of the code in
preparation for the move.

Patch 11 does the actual moving of the files into tools/lib/api/util.

[*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com

Josh Poimboeuf (13):
  perf: Use -iquote for local include paths
  perf: Split up util.h
  perf: Move term functions out of util.c
  perf: Remove unused pager_use_color variable
  perf: Split up cache.h
  perf: Remove cache.h
  perf: Save cmdline arguments earlier
  perf: Remove check for unused PERF_PAGER_IN_USE
  perf: Move cmd_version() to builtin-version.c
  perf: Move help_unknown_cmd() to its own file
  perf tools: Move strlcpy() to tools/lib/string.c
  perf tools: Move perf subcommand framework into a library
  perf tools: Move subcommand framework and related utils to libapi

 tools/include/asm-generic/bitops/__fls.h           |   2 +-
 tools/include/asm-generic/bitops/fls.h             |   2 +-
 tools/include/asm-generic/bitops/fls64.h           |   2 +-
 tools/lib/api/Build                                |   2 +
 tools/lib/api/Makefile                             |   6 +-
 tools/lib/api/string/Build                         |   1 +
 tools/lib/{ => api/string}/string.c                |  24 +-
 tools/{include/linux => lib/api/string}/string.h   |  15 +-
 tools/lib/api/util/Build                           |  13 +
 tools/{perf => lib/api}/util/abspath.c             |   6 +-
 tools/lib/api/util/abspath.h                       |  11 +
 tools/lib/api/util/cfg.c                           |  12 +
 tools/lib/api/util/cfg.h                           |  15 +
 tools/lib/api/util/compat-util.h                   | 129 +++++++++
 tools/{perf => lib/api}/util/ctype.c               |   3 +-
 tools/lib/api/util/ctype.h                         |  52 ++++
 tools/{perf => lib/api}/util/exec_cmd.c            |  42 +--
 tools/{perf => lib/api}/util/exec_cmd.h            |  18 +-
 tools/{perf => lib/api}/util/help.c                | 134 ++-------
 tools/{perf => lib/api}/util/help.h                |   3 +
 tools/{perf => lib/api}/util/pager.c               |  14 +-
 tools/lib/api/util/pager.h                         |   7 +
 tools/{perf => lib/api}/util/parse-options.c       |  30 +-
 tools/{perf => lib/api}/util/parse-options.h       |   7 +-
 tools/{perf => lib/api}/util/run-command.c         |  12 +-
 tools/{perf => lib/api}/util/run-command.h         |  10 +-
 tools/{perf => lib/api}/util/sigchain.c            |   4 +-
 tools/{perf => lib/api}/util/sigchain.h            |   6 +-
 tools/{perf => lib/api}/util/strbuf.c              |   6 +-
 tools/{perf => lib/api}/util/strbuf.h              |   8 +-
 tools/lib/api/util/term.c                          |  36 +++
 tools/lib/api/util/term.h                          |   7 +
 tools/{perf => lib/api}/util/usage.c               |   4 +-
 tools/lib/api/util/usage.h                         |  23 ++
 tools/{perf => lib/api}/util/wrapper.c             |   4 +-
 .../{perf/util/cache.h => lib/api/util/wrapper.h}  |  65 +----
 tools/perf/Build                                   |   3 +-
 tools/perf/MANIFEST                                |   2 -
 tools/perf/arch/x86/util/intel-pt.c                |   2 +-
 tools/perf/bench/futex-hash.c                      |   2 +-
 tools/perf/bench/futex-lock-pi.c                   |   2 +-
 tools/perf/bench/futex-requeue.c                   |   2 +-
 tools/perf/bench/futex-wake-parallel.c             |   2 +-
 tools/perf/bench/futex-wake.c                      |   2 +-
 tools/perf/bench/mem-functions.c                   |   2 +-
 tools/perf/bench/numa.c                            |   2 +-
 tools/perf/bench/sched-messaging.c                 |   2 +-
 tools/perf/bench/sched-pipe.c                      |   2 +-
 tools/perf/builtin-annotate.c                      |   3 +-
 tools/perf/builtin-bench.c                         |   2 +-
 tools/perf/builtin-buildid-cache.c                 |   4 +-
 tools/perf/builtin-buildid-list.c                  |   4 +-
 tools/perf/builtin-config.c                        |   3 +-
 tools/perf/builtin-data.c                          |   2 +-
 tools/perf/builtin-evlist.c                        |   2 +-
 tools/perf/builtin-help.c                          |  11 +-
 tools/perf/builtin-inject.c                        |   2 +-
 tools/perf/builtin-kmem.c                          |   5 +-
 tools/perf/builtin-kvm.c                           |   3 +-
 tools/perf/builtin-list.c                          |   4 +-
 tools/perf/builtin-lock.c                          |   3 +-
 tools/perf/builtin-mem.c                           |   2 +-
 tools/perf/builtin-probe.c                         |   2 +-
 tools/perf/builtin-record.c                        |   2 +-
 tools/perf/builtin-report.c                        |   3 +-
 tools/perf/builtin-sched.c                         |   3 +-
 tools/perf/builtin-script.c                        |  13 +-
 tools/perf/builtin-stat.c                          |   2 +-
 tools/perf/builtin-timechart.c                     |   3 +-
 tools/perf/builtin-top.c                           |   3 +-
 tools/perf/builtin-trace.c                         |   4 +-
 tools/perf/builtin-version.c                       |   9 +
 tools/perf/builtin.h                               |   2 +-
 tools/perf/config/Makefile                         |   4 +-
 tools/perf/perf.c                                  |  30 +-
 tools/perf/perf.h                                  |  13 +
 tools/perf/tests/Build                             |   6 +-
 tools/perf/tests/attr.c                            |   4 +-
 tools/perf/tests/bpf.c                             |   4 +-
 tools/perf/tests/builtin-test.c                    |   2 +-
 tools/perf/tests/llvm.c                            |   4 +-
 tools/perf/ui/browser.c                            |   1 -
 tools/perf/ui/browsers/header.c                    |   2 +-
 tools/perf/ui/gtk/browser.c                        |   2 +-
 tools/perf/ui/gtk/hists.c                          |   2 +-
 tools/perf/ui/gtk/setup.c                          |   2 +-
 tools/perf/ui/helpline.h                           |   2 +-
 tools/perf/ui/progress.c                           |   2 +-
 tools/perf/ui/setup.c                              |   7 +-
 tools/perf/ui/tui/progress.c                       |   2 +-
 tools/perf/ui/tui/setup.c                          |   1 -
 tools/perf/ui/tui/util.c                           |   1 -
 tools/perf/ui/ui.h                                 |   1 +
 tools/perf/util/Build                              |  20 +-
 tools/perf/util/alias.c                            |   2 +-
 tools/perf/util/alias.h                            |   7 +
 tools/perf/util/annotate.c                         |   1 -
 tools/perf/util/auxtrace.c                         |   4 +-
 tools/perf/util/bpf-loader.c                       |   2 +-
 tools/perf/util/cgroup.c                           |   2 +-
 tools/perf/util/color.c                            |   4 +-
 tools/perf/util/config.c                           |   3 +-
 tools/perf/util/config.h                           |  18 ++
 tools/perf/util/debug.c                            |   1 -
 tools/perf/util/env.c                              |   9 -
 tools/perf/util/environment.c                      |   8 -
 tools/perf/util/evlist.c                           |   2 +-
 tools/perf/util/header.c                           |   2 +-
 tools/perf/util/help-unknown-cmd.c                 | 103 +++++++
 tools/perf/util/help-unknown-cmd.h                 |   0
 tools/perf/util/intel-pt-decoder/insn.c            |   2 +-
 .../perf/util/intel-pt-decoder/intel-pt-decoder.c  |   1 -
 tools/perf/util/levenshtein.c                      |   2 +-
 tools/perf/util/llvm-utils.c                       |   1 -
 tools/perf/util/lzma.h                             |   8 +
 tools/perf/util/map.c                              |   2 +-
 tools/perf/util/ordered-events.c                   |   2 +-
 tools/perf/util/parse-branch-options.c             |   2 +-
 tools/perf/util/parse-events.c                     |   5 +-
 tools/perf/util/parse-regs-options.c               |   2 +-
 tools/perf/util/path.c                             |  20 +-
 tools/perf/util/path.h                             |  12 +
 tools/perf/util/probe-event.c                      |   1 -
 tools/perf/util/probe-file.c                       |   1 -
 tools/perf/util/python-ext-sources                 |   1 -
 tools/perf/util/quote.c                            |   2 +-
 tools/perf/util/sort.h                             |   3 +-
 tools/perf/util/srcline.h                          |  16 ++
 tools/perf/util/string.h                           |  34 +++
 tools/perf/util/thread.h                           |   4 +-
 tools/perf/util/util.c                             |  34 ---
 tools/perf/util/util.h                             | 314 ++-------------------
 tools/perf/util/zlib.h                             |   8 +
 133 files changed, 852 insertions(+), 761 deletions(-)
 create mode 100644 tools/lib/api/string/Build
 rename tools/lib/{ => api/string}/string.c (73%)
 rename tools/{include/linux => lib/api/string}/string.h (23%)
 create mode 100644 tools/lib/api/util/Build
 rename tools/{perf => lib/api}/util/abspath.c (90%)
 create mode 100644 tools/lib/api/util/abspath.h
 create mode 100644 tools/lib/api/util/cfg.c
 create mode 100644 tools/lib/api/util/cfg.h
 create mode 100644 tools/lib/api/util/compat-util.h
 rename tools/{perf => lib/api}/util/ctype.c (97%)
 create mode 100644 tools/lib/api/util/ctype.h
 rename tools/{perf => lib/api}/util/exec_cmd.c (72%)
 rename tools/{perf => lib/api}/util/exec_cmd.h (14%)
 rename tools/{perf => lib/api}/util/help.c (59%)
 rename tools/{perf => lib/api}/util/help.h (85%)
 rename tools/{perf => lib/api}/util/pager.c (88%)
 create mode 100644 tools/lib/api/util/pager.h
 rename tools/{perf => lib/api}/util/parse-options.c (97%)
 rename tools/{perf => lib/api}/util/parse-options.h (98%)
 rename tools/{perf => lib/api}/util/run-command.c (96%)
 rename tools/{perf => lib/api}/util/run-command.h (87%)
 rename tools/{perf => lib/api}/util/sigchain.c (93%)
 rename tools/{perf => lib/api}/util/sigchain.h (53%)
 rename tools/{perf => lib/api}/util/strbuf.c (97%)
 rename tools/{perf => lib/api}/util/strbuf.h (95%)
 create mode 100644 tools/lib/api/util/term.c
 create mode 100644 tools/lib/api/util/term.h
 rename tools/{perf => lib/api}/util/usage.c (97%)
 create mode 100644 tools/lib/api/util/usage.h
 rename tools/{perf => lib/api}/util/wrapper.c (92%)
 rename tools/{perf/util/cache.h => lib/api/util/wrapper.h} (22%)
 create mode 100644 tools/perf/builtin-version.c
 create mode 100644 tools/perf/util/alias.h
 create mode 100644 tools/perf/util/config.h
 delete mode 100644 tools/perf/util/environment.c
 create mode 100644 tools/perf/util/help-unknown-cmd.c
 create mode 100644 tools/perf/util/help-unknown-cmd.h
 create mode 100644 tools/perf/util/lzma.h
 create mode 100644 tools/perf/util/path.h
 create mode 100644 tools/perf/util/srcline.h
 create mode 100644 tools/perf/util/string.h
 create mode 100644 tools/perf/util/zlib.h

-- 
2.4.3

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1284822 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromIngo Molnar <mingo@kernel.org>
Date2015-12-06 10:40 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qCDXr-5aq-3@gated-at.bofh.it>
In reply to#1284296
* Josh Poimboeuf <jpoimboe@redhat.com> wrote:

> Ingo suggested that I factor out the perf subcommand functionality
> (originally copied from git) into tools/lib so that it can be used by
> stacktool[*] and possibly others.
> 
> All the subcommand option handling files have been moved into libapi,
> including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> and their dependencies.  Since several of the dependencies are more
> general-purpose "utilities" which aren't directly related to
> subcommands, I put everything in 'tools/lib/api/util'.  They're linked
> into perf as part of the libapi.a library.
> 
> Patches 1-10 do some cleanups and splitting up of the code in
> preparation for the move.
> 
> Patch 11 does the actual moving of the files into tools/lib/api/util.
> 
> [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com
> 
> Josh Poimboeuf (13):
>   perf: Use -iquote for local include paths
>   perf: Split up util.h
>   perf: Move term functions out of util.c
>   perf: Remove unused pager_use_color variable
>   perf: Split up cache.h
>   perf: Remove cache.h
>   perf: Save cmdline arguments earlier
>   perf: Remove check for unused PERF_PAGER_IN_USE
>   perf: Move cmd_version() to builtin-version.c
>   perf: Move help_unknown_cmd() to its own file
>   perf tools: Move strlcpy() to tools/lib/string.c
>   perf tools: Move perf subcommand framework into a library
>   perf tools: Move subcommand framework and related utils to libapi

>  133 files changed, 852 insertions(+), 761 deletions(-)

So this split-out looks great to me!

A bit of a background: this series is a necessary precondition of me being able to 
merge 'stacktool' and the frame pointer handling enhancements Josh is working on - 
but it would be nice if this could all be done via Arnaldo's perf tree to minimize 
any impact on pending perf work.

I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.

Thanks,

	Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1284878 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromJiri Olsa <jolsa@redhat.com>
Date2015-12-06 17:00 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qCJTb-nk-1@gated-at.bofh.it>
In reply to#1284822
On Sun, Dec 06, 2015 at 10:37:52AM +0100, Ingo Molnar wrote:
> 
> * Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> 
> > Ingo suggested that I factor out the perf subcommand functionality
> > (originally copied from git) into tools/lib so that it can be used by
> > stacktool[*] and possibly others.
> > 
> > All the subcommand option handling files have been moved into libapi,
> > including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> > and their dependencies.  Since several of the dependencies are more
> > general-purpose "utilities" which aren't directly related to
> > subcommands, I put everything in 'tools/lib/api/util'.  They're linked
> > into perf as part of the libapi.a library.
> > 
> > Patches 1-10 do some cleanups and splitting up of the code in
> > preparation for the move.
> > 
> > Patch 11 does the actual moving of the files into tools/lib/api/util.
> > 
> > [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com
> > 
> > Josh Poimboeuf (13):
> >   perf: Use -iquote for local include paths
> >   perf: Split up util.h
> >   perf: Move term functions out of util.c
> >   perf: Remove unused pager_use_color variable
> >   perf: Split up cache.h
> >   perf: Remove cache.h
> >   perf: Save cmdline arguments earlier
> >   perf: Remove check for unused PERF_PAGER_IN_USE
> >   perf: Move cmd_version() to builtin-version.c
> >   perf: Move help_unknown_cmd() to its own file
> >   perf tools: Move strlcpy() to tools/lib/string.c
> >   perf tools: Move perf subcommand framework into a library
> >   perf tools: Move subcommand framework and related utils to libapi
> 
> >  133 files changed, 852 insertions(+), 761 deletions(-)
> 
> So this split-out looks great to me!
> 
> A bit of a background: this series is a necessary precondition of me being able to 
> merge 'stacktool' and the frame pointer handling enhancements Josh is working on - 
> but it would be nice if this could all be done via Arnaldo's perf tree to minimize 
> any impact on pending perf work.
> 
> I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.
> 

heya,
got compilation error over this patchset:

[jolsa@krava perf]$ make clean && make JOBS=1

  ...

  CC       tests/llvm-src-base.o
tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h: No such file or directory
compilation terminated.
mv: cannot stat ‘tests/.llvm-src-base.o.tmp’: No such file or directory
/home/jolsa/kernel/linux-perf/tools/build/Makefile.build:77: recipe for target 'tests/llvm-src-base.o' failed
make[3]: *** [tests/llvm-src-base.o] Error 1
/home/jolsa/kernel/linux-perf/tools/build/Makefile.build:116: recipe for target 'tests' failed
make[2]: *** [tests] Error 2
Makefile.perf:313: recipe for target 'perf-in.o' failed
make[1]: *** [perf-in.o] Error 2
Makefile:68: recipe for target 'all' failed
make: *** [all] Error 2


jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1284905 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromJosh Poimboeuf <jpoimboe@redhat.com>
Date2015-12-06 21:10 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qCNN8-38D-1@gated-at.bofh.it>
In reply to#1284878
On Sun, Dec 06, 2015 at 04:50:06PM +0100, Jiri Olsa wrote:
> On Sun, Dec 06, 2015 at 10:37:52AM +0100, Ingo Molnar wrote:
> > 
> > * Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> > 
> > > Ingo suggested that I factor out the perf subcommand functionality
> > > (originally copied from git) into tools/lib so that it can be used by
> > > stacktool[*] and possibly others.
> > > 
> > > All the subcommand option handling files have been moved into libapi,
> > > including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> > > and their dependencies.  Since several of the dependencies are more
> > > general-purpose "utilities" which aren't directly related to
> > > subcommands, I put everything in 'tools/lib/api/util'.  They're linked
> > > into perf as part of the libapi.a library.
> > > 
> > > Patches 1-10 do some cleanups and splitting up of the code in
> > > preparation for the move.
> > > 
> > > Patch 11 does the actual moving of the files into tools/lib/api/util.
> > > 
> > > [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com
> > > 
> > > Josh Poimboeuf (13):
> > >   perf: Use -iquote for local include paths
> > >   perf: Split up util.h
> > >   perf: Move term functions out of util.c
> > >   perf: Remove unused pager_use_color variable
> > >   perf: Split up cache.h
> > >   perf: Remove cache.h
> > >   perf: Save cmdline arguments earlier
> > >   perf: Remove check for unused PERF_PAGER_IN_USE
> > >   perf: Move cmd_version() to builtin-version.c
> > >   perf: Move help_unknown_cmd() to its own file
> > >   perf tools: Move strlcpy() to tools/lib/string.c
> > >   perf tools: Move perf subcommand framework into a library
> > >   perf tools: Move subcommand framework and related utils to libapi
> > 
> > >  133 files changed, 852 insertions(+), 761 deletions(-)
> > 
> > So this split-out looks great to me!
> > 
> > A bit of a background: this series is a necessary precondition of me being able to 
> > merge 'stacktool' and the frame pointer handling enhancements Josh is working on - 
> > but it would be nice if this could all be done via Arnaldo's perf tree to minimize 
> > any impact on pending perf work.
> > 
> > I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.
> > 
> 
> heya,
> got compilation error over this patchset:
> 
> [jolsa@krava perf]$ make clean && make JOBS=1
> 
>   ...
> 
>   CC       tests/llvm-src-base.o
> tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h: No such file or directory
> compilation terminated.
> mv: cannot stat ‘tests/.llvm-src-base.o.tmp’: No such file or directory
> /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:77: recipe for target 'tests/llvm-src-base.o' failed
> make[3]: *** [tests/llvm-src-base.o] Error 1
> /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:116: recipe for target 'tests' failed
> make[2]: *** [tests] Error 2
> Makefile.perf:313: recipe for target 'perf-in.o' failed
> make[1]: *** [perf-in.o] Error 2
> Makefile:68: recipe for target 'all' failed
> make: *** [all] Error 2

I think the problem is that you have a stale version of the
auto-generated file llvm-src-base.c.  Looks like "make clean" doesn't
remove it.  I'll add a patch to fix it.

-- 
Josh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1285086 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromJiri Olsa <jolsa@redhat.com>
Date2015-12-07 09:50 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qCZEB-28M-1@gated-at.bofh.it>
In reply to#1284905
On Sun, Dec 06, 2015 at 02:02:42PM -0600, Josh Poimboeuf wrote:
> On Sun, Dec 06, 2015 at 04:50:06PM +0100, Jiri Olsa wrote:
> > On Sun, Dec 06, 2015 at 10:37:52AM +0100, Ingo Molnar wrote:
> > > 
> > > * Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> > > 
> > > > Ingo suggested that I factor out the perf subcommand functionality
> > > > (originally copied from git) into tools/lib so that it can be used by
> > > > stacktool[*] and possibly others.
> > > > 
> > > > All the subcommand option handling files have been moved into libapi,
> > > > including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> > > > and their dependencies.  Since several of the dependencies are more
> > > > general-purpose "utilities" which aren't directly related to
> > > > subcommands, I put everything in 'tools/lib/api/util'.  They're linked
> > > > into perf as part of the libapi.a library.
> > > > 
> > > > Patches 1-10 do some cleanups and splitting up of the code in
> > > > preparation for the move.
> > > > 
> > > > Patch 11 does the actual moving of the files into tools/lib/api/util.
> > > > 
> > > > [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com
> > > > 
> > > > Josh Poimboeuf (13):
> > > >   perf: Use -iquote for local include paths
> > > >   perf: Split up util.h
> > > >   perf: Move term functions out of util.c
> > > >   perf: Remove unused pager_use_color variable
> > > >   perf: Split up cache.h
> > > >   perf: Remove cache.h
> > > >   perf: Save cmdline arguments earlier
> > > >   perf: Remove check for unused PERF_PAGER_IN_USE
> > > >   perf: Move cmd_version() to builtin-version.c
> > > >   perf: Move help_unknown_cmd() to its own file
> > > >   perf tools: Move strlcpy() to tools/lib/string.c
> > > >   perf tools: Move perf subcommand framework into a library
> > > >   perf tools: Move subcommand framework and related utils to libapi
> > > 
> > > >  133 files changed, 852 insertions(+), 761 deletions(-)
> > > 
> > > So this split-out looks great to me!
> > > 
> > > A bit of a background: this series is a necessary precondition of me being able to 
> > > merge 'stacktool' and the frame pointer handling enhancements Josh is working on - 
> > > but it would be nice if this could all be done via Arnaldo's perf tree to minimize 
> > > any impact on pending perf work.
> > > 
> > > I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.
> > > 
> > 
> > heya,
> > got compilation error over this patchset:
> > 
> > [jolsa@krava perf]$ make clean && make JOBS=1
> > 
> >   ...
> > 
> >   CC       tests/llvm-src-base.o
> > tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h: No such file or directory
> > compilation terminated.
> > mv: cannot stat ‘tests/.llvm-src-base.o.tmp’: No such file or directory
> > /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:77: recipe for target 'tests/llvm-src-base.o' failed
> > make[3]: *** [tests/llvm-src-base.o] Error 1
> > /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:116: recipe for target 'tests' failed
> > make[2]: *** [tests] Error 2
> > Makefile.perf:313: recipe for target 'perf-in.o' failed
> > make[1]: *** [perf-in.o] Error 2
> > Makefile:68: recipe for target 'all' failed
> > make: *** [all] Error 2
> 
> I think the problem is that you have a stale version of the
> auto-generated file llvm-src-base.c.  Looks like "make clean" doesn't
> remove it.  I'll add a patch to fix it.

FYI I switched back to Arnaldo's perf/core and did 'make clean && make'
which passed, then switched back to your change and build failed again

jirka
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286558 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-12-08 16:00 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qDrUd-3FR-3@gated-at.bofh.it>
In reply to#1285086
Em Tue, Dec 08, 2015 at 11:52:33AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Mon, Dec 07, 2015 at 09:46:48AM +0100, Jiri Olsa escreveu:
> > On Sun, Dec 06, 2015 at 02:02:42PM -0600, Josh Poimboeuf wrote:
> > > I think the problem is that you have a stale version of the
> > > auto-generated file llvm-src-base.c.  Looks like "make clean" doesn't
> > > remove it.  I'll add a patch to fix it.

> > FYI I switched back to Arnaldo's perf/core and did 'make clean && make'
> > which passed, then switched back to your change and build failed again
 
> Even after his patches, it doesn't work, but I think this time he is not
> taking $(OUTPUT) into account, and as I do use "O=/tmp/build/perf/" it
> fails, trying to fix this...

Nah, that was me not using O= for the 'make clean' call, after I do
that, it works.

But its sad everytime we introduce the need to run 'make clean' to
regain a clean build environment :-\
 
> - Arnaldo
> 
> Applying: perf: Use -iquote for local include paths
> [perf/core dbb37aec117a] perf tools: Use -iquote for local include paths
>  Author: Josh Poimboeuf <jpoimboe@redhat.com>
>  Date: Mon Dec 7 22:21:40 2015 -0600
>  5 files changed, 11 insertions(+), 11 deletions(-)
> [acme@zoo linux]$ m
> make: Entering directory '/home/git/linux/tools/perf'
>   BUILD:   Doing 'make -j4' parallel build
>   CC       /tmp/build/perf/builtin-bench.o
>   CC       /tmp/build/perf/util/abspath.o
>   CC       /tmp/build/perf/util/alias.o
>   CC       /tmp/build/perf/builtin-annotate.o
>   CC       /tmp/build/perf/builtin-config.o
>   CC       /tmp/build/perf/util/annotate.o
>   CC       /tmp/build/perf/ui/gtk/browser.o
>   CC       /tmp/build/perf/util/build-id.o
>   CC       /tmp/build/perf/builtin-diff.o
>   CC       /tmp/build/perf/util/config.o
>   CC       /tmp/build/perf/ui/gtk/hists.o
>   CC       /tmp/build/perf/util/ctype.o
>   CC       /tmp/build/perf/ui/gtk/setup.o
>   CC       /tmp/build/perf/builtin-evlist.o
>   CC       /tmp/build/perf/ui/gtk/util.o
>   CC       /tmp/build/perf/util/db-export.o
>   CC       /tmp/build/perf/util/env.o
>   CC       /tmp/build/perf/ui/gtk/helpline.o
>   CC       /tmp/build/perf/builtin-help.o
>   CC       /tmp/build/perf/ui/gtk/progress.o
>   CC       /tmp/build/perf/builtin-sched.o
>   CC       /tmp/build/perf/ui/gtk/annotate.o
>   CC       /tmp/build/perf/util/environment.o
>   CC       /tmp/build/perf/util/event.o
>   CC       /tmp/build/perf/builtin-buildid-list.o
>   LD       /tmp/build/perf/ui/gtk/gtk-in.o
>   CC       /tmp/build/perf/builtin-buildid-cache.o
>   CC       /tmp/build/perf/util/evlist.o
>   LD       /tmp/build/perf/gtk-in.o
>   CC       /tmp/build/perf/util/evsel.o
>   CC       /tmp/build/perf/util/exec_cmd.o
>   CC       /tmp/build/perf/arch/common.o
>   CC       /tmp/build/perf/arch/x86/util/header.o
>   CC       /tmp/build/perf/util/find_next_bit.o
>   CC       /tmp/build/perf/arch/x86/util/tsc.o
>   CC       /tmp/build/perf/arch/x86/util/pmu.o
>   CC       /tmp/build/perf/builtin-list.o
>   CC       /tmp/build/perf/util/help.o
>   CC       /tmp/build/perf/arch/x86/util/kvm-stat.o
>   CC       /tmp/build/perf/builtin-record.o
>   CC       /tmp/build/perf/util/kallsyms.o
>   CC       /tmp/build/perf/util/levenshtein.o
>   CC       /tmp/build/perf/builtin-report.o
>   CC       /tmp/build/perf/builtin-stat.o
>   CC       /tmp/build/perf/util/llvm-utils.o
>   CC       /tmp/build/perf/util/parse-options.o
>   CC       /tmp/build/perf/arch/x86/util/perf_regs.o
>   CC       /tmp/build/perf/builtin-timechart.o
>   CC       /tmp/build/perf/arch/x86/tests/regs_load.o
>   CC       /tmp/build/perf/arch/x86/util/dwarf-regs.o
>   CC       /tmp/build/perf/builtin-top.o
>   CC       /tmp/build/perf/arch/x86/tests/dwarf-unwind.o
>   CC       /tmp/build/perf/util/parse-events.o
>   CC       /tmp/build/perf/arch/x86/util/unwind-libunwind.o
>   CC       /tmp/build/perf/arch/x86/tests/arch-tests.o
>   CC       /tmp/build/perf/util/perf_regs.o
>   CC       /tmp/build/perf/builtin-script.o
>   CC       /tmp/build/perf/arch/x86/util/auxtrace.o
>   CC       /tmp/build/perf/builtin-kmem.o
>   CC       /tmp/build/perf/arch/x86/tests/rdpmc.o
>   CC       /tmp/build/perf/arch/x86/util/intel-pt.o
>   CC       /tmp/build/perf/util/path.o
>   CC       /tmp/build/perf/arch/x86/tests/perf-time-to-tsc.o
>   CC       /tmp/build/perf/builtin-lock.o
>   CC       /tmp/build/perf/util/rbtree.o
>   CC       /tmp/build/perf/arch/x86/util/intel-bts.o
>   CC       /tmp/build/perf/arch/x86/tests/insn-x86.o
>   CC       /tmp/build/perf/util/libstring.o
>   LD       /tmp/build/perf/arch/x86/util/libperf-in.o
>   CC       /tmp/build/perf/util/bitmap.o
>   CC       /tmp/build/perf/builtin-kvm.o
>   CC       /tmp/build/perf/arch/x86/tests/intel-cqm.o
>   CC       /tmp/build/perf/util/hweight.o
>   CC       /tmp/build/perf/builtin-inject.o
>   CC       /tmp/build/perf/builtin-mem.o
>   CC       /tmp/build/perf/ui/setup.o
>   LD       /tmp/build/perf/arch/x86/tests/libperf-in.o
>   LD       /tmp/build/perf/arch/x86/libperf-in.o
>   LD       /tmp/build/perf/arch/libperf-in.o
>   CC       /tmp/build/perf/util/run-command.o
>   CC       /tmp/build/perf/builtin-data.o
>   CC       /tmp/build/perf/ui/helpline.o
>   CC       /tmp/build/perf/ui/progress.o
>   CC       /tmp/build/perf/util/quote.o
>   CC       /tmp/build/perf/scripts/perl/Perf-Trace-Util/Context.o
>   CC       /tmp/build/perf/util/strbuf.o
>   LD       /tmp/build/perf/scripts/perl/Perf-Trace-Util/libperf-in.o
>   CC       /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
>   CC       /tmp/build/perf/ui/util.o
>   CC       /tmp/build/perf/util/string.o
>   CC       /tmp/build/perf/builtin-trace.o
>   LD       /tmp/build/perf/scripts/python/Perf-Trace-Util/libperf-in.o
>   LD       /tmp/build/perf/scripts/libperf-in.o
>   CC       /tmp/build/perf/builtin-probe.o
>   CC       /tmp/build/perf/ui/hist.o
>   CC       /tmp/build/perf/util/strlist.o
>   CC       /tmp/build/perf/ui/stdio/hist.o
>   CC       /tmp/build/perf/bench/sched-messaging.o
>   CC       /tmp/build/perf/util/strfilter.o
>   CC       /tmp/build/perf/util/top.o
>   CC       /tmp/build/perf/ui/browser.o
>   CC       /tmp/build/perf/bench/sched-pipe.o
>   CC       /tmp/build/perf/bench/mem-functions.o
>   CC       /tmp/build/perf/ui/browsers/annotate.o
>   CC       /tmp/build/perf/bench/futex-hash.o
>   CC       /tmp/build/perf/ui/browsers/hists.o
>   CC       /tmp/build/perf/util/usage.o
>   CC       /tmp/build/perf/ui/tui/setup.o
>   CC       /tmp/build/perf/ui/browsers/map.o
>   CC       /tmp/build/perf/bench/futex-wake.o
>   CC       /tmp/build/perf/util/wrapper.o
>   CC       /tmp/build/perf/ui/tui/util.o
>   CC       /tmp/build/perf/ui/browsers/scripts.o
>   CC       /tmp/build/perf/util/sigchain.o
>   CC       /tmp/build/perf/ui/tui/helpline.o
>   CC       /tmp/build/perf/bench/futex-wake-parallel.o
>   CC       /tmp/build/perf/util/dso.o
>   CC       /tmp/build/perf/ui/browsers/header.o
>   CC       /tmp/build/perf/bench/futex-requeue.o
>   CC       /tmp/build/perf/ui/tui/progress.o
>   CC       /tmp/build/perf/bench/futex-lock-pi.o
>   LD       /tmp/build/perf/ui/browsers/libperf-in.o
>   CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
>   CC       /tmp/build/perf/util/symbol.o
>   CC       /tmp/build/perf/util/color.o
>   LD       /tmp/build/perf/ui/tui/libperf-in.o
>   LD       /tmp/build/perf/ui/libperf-in.o
>   CC       /tmp/build/perf/util/pager.o
>   CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
>   CC       /tmp/build/perf/tests/builtin-test.o
>   CC       /tmp/build/perf/tests/parse-events.o
>   CC       /tmp/build/perf/util/header.o
>   CC       /tmp/build/perf/tests/dso-data.o
>   CC       /tmp/build/perf/util/callchain.o
>   CC       /tmp/build/perf/bench/numa.o
>   CC       /tmp/build/perf/perf.o
>   CC       /tmp/build/perf/tests/attr.o
>   CC       /tmp/build/perf/tests/vmlinux-kallsyms.o
>   LD       /tmp/build/perf/bench/perf-in.o
>   CC       /tmp/build/perf/tests/openat-syscall.o
>   CC       /tmp/build/perf/util/values.o
>   CC       /tmp/build/perf/tests/openat-syscall-all-cpus.o
>   CC       /tmp/build/perf/util/debug.o
>   CC       /tmp/build/perf/util/machine.o
>   CC       /tmp/build/perf/tests/openat-syscall-tp-fields.o
>   CC       /tmp/build/perf/tests/mmap-basic.o
>   CC       /tmp/build/perf/tests/perf-record.o
>   CC       /tmp/build/perf/util/map.o
>   CC       /tmp/build/perf/util/pstack.o
>   CC       /tmp/build/perf/tests/evsel-roundtrip-name.o
>   CC       /tmp/build/perf/tests/evsel-tp-sched.o
>   CC       /tmp/build/perf/tests/fdarray.o
>   CC       /tmp/build/perf/util/session.o
>   CC       /tmp/build/perf/tests/pmu.o
>   CC       /tmp/build/perf/util/ordered-events.o
>   CC       /tmp/build/perf/util/comm.o
>   CC       /tmp/build/perf/util/thread.o
>   CC       /tmp/build/perf/tests/hists_common.o
>   CC       /tmp/build/perf/tests/hists_link.o
>   CC       /tmp/build/perf/tests/hists_filter.o
>   CC       /tmp/build/perf/tests/hists_output.o
>   CC       /tmp/build/perf/util/thread_map.o
>   CC       /tmp/build/perf/tests/hists_cumulate.o
>   CC       /tmp/build/perf/tests/python-use.o
>   CC       /tmp/build/perf/util/trace-event-parse.o
>   CC       /tmp/build/perf/util/parse-events-flex.o
>   CC       /tmp/build/perf/util/parse-events-bison.o
>   CC       /tmp/build/perf/tests/bp_signal.o
>   CC       /tmp/build/perf/tests/bp_signal_overflow.o
>   CC       /tmp/build/perf/util/pmu.o
>   CC       /tmp/build/perf/util/pmu-flex.o
>   CC       /tmp/build/perf/tests/task-exit.o
>   CC       /tmp/build/perf/tests/sw-clock.o
>   CC       /tmp/build/perf/util/pmu-bison.o
>   CC       /tmp/build/perf/tests/mmap-thread-lookup.o
>   CC       /tmp/build/perf/tests/thread-mg-share.o
>   CC       /tmp/build/perf/tests/switch-tracking.o
>   CC       /tmp/build/perf/util/trace-event-read.o
>   CC       /tmp/build/perf/util/trace-event-info.o
>   CC       /tmp/build/perf/util/trace-event-scripting.o
>   CC       /tmp/build/perf/tests/keep-tracking.o
>   CC       /tmp/build/perf/util/trace-event.o
>   CC       /tmp/build/perf/tests/code-reading.o
>   CC       /tmp/build/perf/util/svghelper.o
>   CC       /tmp/build/perf/util/sort.o
>   CC       /tmp/build/perf/tests/sample-parsing.o
>   CC       /tmp/build/perf/tests/parse-no-sample-id-all.o
>   CC       /tmp/build/perf/util/hist.o
>   CC       /tmp/build/perf/tests/kmod-path.o
>   CC       /tmp/build/perf/util/util.o
>   CC       /tmp/build/perf/util/xyarray.o
>   CC       /tmp/build/perf/tests/thread-map.o
>   CC       /tmp/build/perf/tests/llvm.o
>   CC       /tmp/build/perf/util/cpumap.o
>   CC       /tmp/build/perf/util/cgroup.o
>   CC       /tmp/build/perf/tests/llvm-src-base.o
>   CC       /tmp/build/perf/tests/llvm-src-kbuild.o
>   CC       /tmp/build/perf/util/target.o
>   CC       /tmp/build/perf/util/rblist.o
>   CC       /tmp/build/perf/util/intlist.o
> /tmp/build/perf/tests/llvm-src-kbuild.c:1:24: fatal error: tests/llvm.h:
> No such file or directory
>  #include <tests/llvm.h>
>                         ^
> compilation terminated.
> mv: cannot stat ‘/tmp/build/perf/tests/.llvm-src-kbuild.o.tmp’: No such
> file or directory
> /home/git/linux/tools/build/Makefile.build:77: recipe for target
> '/tmp/build/perf/tests/llvm-src-kbuild.o' failed
> make[3]: *** [/tmp/build/perf/tests/llvm-src-kbuild.o] Error 1
> make[3]: *** Waiting for unfinished jobs....
>   CC       /tmp/build/perf/util/vdso.o
>   CC       /tmp/build/perf/util/counts.o
>   CC       /tmp/build/perf/util/stat.o
> /tmp/build/perf/tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h:
> No such file or directory
>  #include <tests/llvm.h>
>                         ^
> compilation terminated.
> mv: cannot stat ‘/tmp/build/perf/tests/.llvm-src-base.o.tmp’: No such
> file or directory
> /home/git/linux/tools/build/Makefile.build:77: recipe for target
> '/tmp/build/perf/tests/llvm-src-base.o' failed
> make[3]: *** [/tmp/build/perf/tests/llvm-src-base.o] Error 1
> /home/git/linux/tools/build/Makefile.build:116: recipe for target
> 'tests' failed
> make[2]: *** [tests] Error 2
> Makefile.perf:313: recipe for target '/tmp/build/perf/perf-in.o' failed
> make[1]: *** [/tmp/build/perf/perf-in.o] Error 2
> make[1]: *** Waiting for unfinished jobs....
>   CC       /tmp/build/perf/util/stat-shadow.o
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286586 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-12-08 16:30 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qDsng-44U-19@gated-at.bofh.it>
In reply to#1286558
Em Tue, Dec 08, 2015 at 11:55:31AM -0300, Arnaldo Carvalho de Melo escreveu:
> Em Tue, Dec 08, 2015 at 11:52:33AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Mon, Dec 07, 2015 at 09:46:48AM +0100, Jiri Olsa escreveu:
> > > On Sun, Dec 06, 2015 at 02:02:42PM -0600, Josh Poimboeuf wrote:
> > > > I think the problem is that you have a stale version of the
> > > > auto-generated file llvm-src-base.c.  Looks like "make clean" doesn't
> > > > remove it.  I'll add a patch to fix it.
> 
> > > FYI I switched back to Arnaldo's perf/core and did 'make clean && make'
> > > which passed, then switched back to your change and build failed again
>  
> > Even after his patches, it doesn't work, but I think this time he is not
> > taking $(OUTPUT) into account, and as I do use "O=/tmp/build/perf/" it
> > fails, trying to fix this...
> 
> Nah, that was me not using O= for the 'make clean' call, after I do
> that, it works.
> 
> But its sad everytime we introduce the need to run 'make clean' to
> regain a clean build environment :-\

Ok, now trying to run:

 make -C tools/perf build-test

It fails here with:

[acme@ssdandy linux]$ cat ./tools/perf/make_clean_all_O
cd . && make -f Makefile O=/tmp/tmp.4iuuIJy0Ia DESTDIR=/tmp/tmp.EeBhrZY9H2 clean all
  CLEAN    libtraceevent
  CLEAN    libapi
  CLEAN    libbpf
  CLEAN    config
  CLEAN    feature
  CLEAN    tests
find: ‘/tmp/tmp.4iuuIJy0Ia/tests’: No such file or directory
make[4]: *** [tests-clean] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [clean] Error 2
[acme@ssdandy linux]$

This is after applying:

[acme@ssdandy perf]$ git log --oneline | head -3
dbb37aec117a perf tools: Use -iquote for local include paths
e32ac4f249a1 perf tools: Fix 'make clean'
a30c99a0beb3 Merge branch 'perf/urgent' into perf/core, to pick up fixes
[acme@ssdandy perf]$ 

-----------------------------------------------------------------------------------------------

[acme@ssdandy linux]$ ls -la /tmp/tmp.EeBhrZY9H2
total 4
drwx------.  2 acme acme    6 Dec  8 12:17 .
drwxrwxrwt. 26 root root 4096 Dec  8 12:17 ..
[acme@ssdandy linux]$ 
[acme@ssdandy linux]$ cd tools/perf
[acme@ssdandy perf]$ make -f Makefile O=/tmp/tmp.4iuuIJy0Ia DESTDIR=/tmp/tmp.EeBhrZY9H2 clean all
  CLEAN    libtraceevent
  CLEAN    libapi
  CLEAN    libbpf
  CLEAN    config
  CLEAN    feature
  CLEAN    tests
find: ‘/tmp/tmp.4iuuIJy0Ia/tests’: No such file or directory
make[1]: *** [tests-clean] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [clean] Error 2
[acme@ssdandy perf]$ 

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286623 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-12-08 16:50 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qDsGC-4bA-23@gated-at.bofh.it>
In reply to#1286586
Em Tue, Dec 08, 2015 at 12:29:15PM -0300, Arnaldo Carvalho de Melo escreveu:
> find: ‘/tmp/tmp.4iuuIJy0Ia/tests’: No such file or directory
> make[4]: *** [tests-clean] Error 1
> make[4]: *** Waiting for unfinished jobs....
> make[3]: *** [clean] Error 2
> [acme@ssdandy linux]$

So, to reproduce:

[acme@zoo linux]$ rmdir /tmp/foo
[acme@zoo linux]$ mkdir /tmp/foo
[acme@zoo linux]$ make O=/tmp/foo -C tools/perf clean
make: Entering directory '/home/git/linux/tools/perf'
  CLEAN    libtraceevent
  CLEAN    libapi
  CLEAN    config
  CLEAN    libbpf
  CLEAN    feature
  CLEAN    tests
find: ‘/tmp/foo/tests’: No such file or directory
Makefile.perf:592: recipe for target 'tests-clean' failed
make[1]: *** [tests-clean] Error 1
make[1]: *** Waiting for unfinished jobs....
Makefile:75: recipe for target 'clean' failed
make: *** [clean] Error 2
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$

Then, applying the patch below, it works, Jiri, would this be the best way to
solve this? The RM call right after the find works because it uses 'rm -f', I think:


o linux]$ patch -p1 < /tmp/a.patch
patching file tools/perf/Makefile.perf
[acme@zoo linux]$ make O=/tmp/foo -C tools/perf clean
make: Entering directory '/home/git/linux/tools/perf'
  CLEAN    libapi
  CLEAN    libbpf
  CLEAN    libtraceevent
  CLEAN    config
  CLEAN    feature
  CLEAN    tests
  CLEAN    core-objs
  CLEAN    core-progs
  CLEAN    core-gen
  SUBDIR   Documentation
  CLEAN    Documentation
  CLEAN    python
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$ mkdir /tmp/foo/tests/
[acme@zoo linux]$ touch /tmp/foo/tests/.a.cmd
[acme@zoo linux]$ make O=/tmp/foo -C tools/perf clean
make: Entering directory '/home/git/linux/tools/perf'
  CLEAN    libtraceevent
  CLEAN    libapi
  CLEAN    libbpf
  CLEAN    config
  CLEAN    feature
  CLEAN    tests
  CLEAN    core-objs
  CLEAN    core-progs
  CLEAN    core-gen
  SUBDIR   Documentation
  CLEAN    Documentation
  CLEAN    python
make: Leaving directory '/home/git/linux/tools/perf'
[acme@zoo linux]$ ls /tmp/foo/tests/
[acme@zoo linux]$ 

Regards,

- Arnaldo

diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 8b63dbdff197..331a0377da1f 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -590,7 +590,7 @@ feature-clean:
 
 tests-clean:
 	$(call QUIET_CLEAN, tests)
-	$(Q)find $(OUTPUT)tests -name '*.o' -delete -o -name '\.*.cmd' -delete
+	$(Q)$(test -d $(OUTPUT)tests && find $(OUTPUT)tests -name '*.o' -delete -o -name '\.*.cmd' -delete)
 	$(Q)$(RM) $(OUTPUT)tests/llvm-src-{base,kbuild,prologue}.c
 
 clean: $(LIBTRACEEVENT)-clean $(LIBAPI)-clean $(LIBBPF)-clean config-clean feature-clean tests-clean
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286588 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromJosh Poimboeuf <jpoimboe@redhat.com>
Date2015-12-08 16:30 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qDsng-44U-21@gated-at.bofh.it>
In reply to#1286558
On Tue, Dec 08, 2015 at 11:55:31AM -0300, Arnaldo Carvalho de Melo wrote:
> Em Tue, Dec 08, 2015 at 11:52:33AM -0300, Arnaldo Carvalho de Melo escreveu:
> > Em Mon, Dec 07, 2015 at 09:46:48AM +0100, Jiri Olsa escreveu:
> > > On Sun, Dec 06, 2015 at 02:02:42PM -0600, Josh Poimboeuf wrote:
> > > > I think the problem is that you have a stale version of the
> > > > auto-generated file llvm-src-base.c.  Looks like "make clean" doesn't
> > > > remove it.  I'll add a patch to fix it.
> 
> > > FYI I switched back to Arnaldo's perf/core and did 'make clean && make'
> > > which passed, then switched back to your change and build failed again
>  
> > Even after his patches, it doesn't work, but I think this time he is not
> > taking $(OUTPUT) into account, and as I do use "O=/tmp/build/perf/" it
> > fails, trying to fix this...
> 
> Nah, that was me not using O= for the 'make clean' call, after I do
> that, it works.
> 
> But its sad everytime we introduce the need to run 'make clean' to
> regain a clean build environment :-\

Yeah, having to run 'make clean' every time you apply the patches is
less than ideal.  The problem is that the Build file is also a source
file, since it generates the llvm-src-* files.  I guess we could add the
Build file itself as a dependency, like:


diff --git a/tools/perf/tests/Build b/tools/perf/tests/Build
index f8888e8..1869d73 100644
--- a/tools/perf/tests/Build
+++ b/tools/perf/tests/Build
@@ -35,21 +35,21 @@ perf-y += llvm.o llvm-src-base.o llvm-src-kbuild.o llvm-src-prologue.o
 perf-y += bpf.o
 perf-y += topology.o
 
-$(OUTPUT)tests/llvm-src-base.c: tests/bpf-script-example.c
+$(OUTPUT)tests/llvm-src-base.c: tests/bpf-script-example.c tests/Build
 	$(call rule_mkdir)
 	$(Q)echo '#include "tests/llvm.h"' > $@
 	$(Q)echo 'const char test_llvm__bpf_base_prog[] =' >> $@
 	$(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@
 	$(Q)echo ';' >> $@
 
-$(OUTPUT)tests/llvm-src-kbuild.c: tests/bpf-script-test-kbuild.c
+$(OUTPUT)tests/llvm-src-kbuild.c: tests/bpf-script-test-kbuild.c tests/Build
 	$(call rule_mkdir)
 	$(Q)echo '#include "tests/llvm.h"' > $@
 	$(Q)echo 'const char test_llvm__bpf_test_kbuild_prog[] =' >> $@
 	$(Q)sed -e 's/"/\\"/g' -e 's/\(.*\)/"\1\\n"/g' $< >> $@
 	$(Q)echo ';' >> $@
 
-$(OUTPUT)tests/llvm-src-prologue.c: tests/bpf-script-test-prologue.c
+$(OUTPUT)tests/llvm-src-prologue.c: tests/bpf-script-test-prologue.c tests/Build
 	$(call rule_mkdir)
 	$(Q)echo '#include "tests/llvm.h"' > $@
 	$(Q)echo 'const char test_llvm__bpf_test_prologue_prog[] =' >> $@

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1286559 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-12-08 16:00 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qDrUd-3FR-5@gated-at.bofh.it>
In reply to#1285086
Em Mon, Dec 07, 2015 at 09:46:48AM +0100, Jiri Olsa escreveu:
> On Sun, Dec 06, 2015 at 02:02:42PM -0600, Josh Poimboeuf wrote:
> > On Sun, Dec 06, 2015 at 04:50:06PM +0100, Jiri Olsa wrote:
> > > On Sun, Dec 06, 2015 at 10:37:52AM +0100, Ingo Molnar wrote:
> > > > 
> > > > * Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> > > > 
> > > > > Ingo suggested that I factor out the perf subcommand functionality
> > > > > (originally copied from git) into tools/lib so that it can be used by
> > > > > stacktool[*] and possibly others.
> > > > > 
> > > > > All the subcommand option handling files have been moved into libapi,
> > > > > including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> > > > > and their dependencies.  Since several of the dependencies are more
> > > > > general-purpose "utilities" which aren't directly related to
> > > > > subcommands, I put everything in 'tools/lib/api/util'.  They're linked
> > > > > into perf as part of the libapi.a library.
> > > > > 
> > > > > Patches 1-10 do some cleanups and splitting up of the code in
> > > > > preparation for the move.
> > > > > 
> > > > > Patch 11 does the actual moving of the files into tools/lib/api/util.
> > > > > 
> > > > > [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com
> > > > > 
> > > > > Josh Poimboeuf (13):
> > > > >   perf: Use -iquote for local include paths
> > > > >   perf: Split up util.h
> > > > >   perf: Move term functions out of util.c
> > > > >   perf: Remove unused pager_use_color variable
> > > > >   perf: Split up cache.h
> > > > >   perf: Remove cache.h
> > > > >   perf: Save cmdline arguments earlier
> > > > >   perf: Remove check for unused PERF_PAGER_IN_USE
> > > > >   perf: Move cmd_version() to builtin-version.c
> > > > >   perf: Move help_unknown_cmd() to its own file
> > > > >   perf tools: Move strlcpy() to tools/lib/string.c
> > > > >   perf tools: Move perf subcommand framework into a library
> > > > >   perf tools: Move subcommand framework and related utils to libapi
> > > > 
> > > > >  133 files changed, 852 insertions(+), 761 deletions(-)
> > > > 
> > > > So this split-out looks great to me!
> > > > 
> > > > A bit of a background: this series is a necessary precondition of me being able to 
> > > > merge 'stacktool' and the frame pointer handling enhancements Josh is working on - 
> > > > but it would be nice if this could all be done via Arnaldo's perf tree to minimize 
> > > > any impact on pending perf work.
> > > > 
> > > > I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.
> > > > 
> > > 
> > > heya,
> > > got compilation error over this patchset:
> > > 
> > > [jolsa@krava perf]$ make clean && make JOBS=1
> > > 
> > >   ...
> > > 
> > >   CC       tests/llvm-src-base.o
> > > tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h: No such file or directory
> > > compilation terminated.
> > > mv: cannot stat ‘tests/.llvm-src-base.o.tmp’: No such file or directory
> > > /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:77: recipe for target 'tests/llvm-src-base.o' failed
> > > make[3]: *** [tests/llvm-src-base.o] Error 1
> > > /home/jolsa/kernel/linux-perf/tools/build/Makefile.build:116: recipe for target 'tests' failed
> > > make[2]: *** [tests] Error 2
> > > Makefile.perf:313: recipe for target 'perf-in.o' failed
> > > make[1]: *** [perf-in.o] Error 2
> > > Makefile:68: recipe for target 'all' failed
> > > make: *** [all] Error 2
> > 
> > I think the problem is that you have a stale version of the
> > auto-generated file llvm-src-base.c.  Looks like "make clean" doesn't
> > remove it.  I'll add a patch to fix it.
> 
> FYI I switched back to Arnaldo's perf/core and did 'make clean && make'
> which passed, then switched back to your change and build failed again

Even after his patches, it doesn't work, but I think this time he is not
taking $(OUTPUT) into account, and as I do use "O=/tmp/build/perf/" it
fails, trying to fix this...

- Arnaldo

Applying: perf: Use -iquote for local include paths
[perf/core dbb37aec117a] perf tools: Use -iquote for local include paths
 Author: Josh Poimboeuf <jpoimboe@redhat.com>
 Date: Mon Dec 7 22:21:40 2015 -0600
 5 files changed, 11 insertions(+), 11 deletions(-)
[acme@zoo linux]$ m
make: Entering directory '/home/git/linux/tools/perf'
  BUILD:   Doing 'make -j4' parallel build
  CC       /tmp/build/perf/builtin-bench.o
  CC       /tmp/build/perf/util/abspath.o
  CC       /tmp/build/perf/util/alias.o
  CC       /tmp/build/perf/builtin-annotate.o
  CC       /tmp/build/perf/builtin-config.o
  CC       /tmp/build/perf/util/annotate.o
  CC       /tmp/build/perf/ui/gtk/browser.o
  CC       /tmp/build/perf/util/build-id.o
  CC       /tmp/build/perf/builtin-diff.o
  CC       /tmp/build/perf/util/config.o
  CC       /tmp/build/perf/ui/gtk/hists.o
  CC       /tmp/build/perf/util/ctype.o
  CC       /tmp/build/perf/ui/gtk/setup.o
  CC       /tmp/build/perf/builtin-evlist.o
  CC       /tmp/build/perf/ui/gtk/util.o
  CC       /tmp/build/perf/util/db-export.o
  CC       /tmp/build/perf/util/env.o
  CC       /tmp/build/perf/ui/gtk/helpline.o
  CC       /tmp/build/perf/builtin-help.o
  CC       /tmp/build/perf/ui/gtk/progress.o
  CC       /tmp/build/perf/builtin-sched.o
  CC       /tmp/build/perf/ui/gtk/annotate.o
  CC       /tmp/build/perf/util/environment.o
  CC       /tmp/build/perf/util/event.o
  CC       /tmp/build/perf/builtin-buildid-list.o
  LD       /tmp/build/perf/ui/gtk/gtk-in.o
  CC       /tmp/build/perf/builtin-buildid-cache.o
  CC       /tmp/build/perf/util/evlist.o
  LD       /tmp/build/perf/gtk-in.o
  CC       /tmp/build/perf/util/evsel.o
  CC       /tmp/build/perf/util/exec_cmd.o
  CC       /tmp/build/perf/arch/common.o
  CC       /tmp/build/perf/arch/x86/util/header.o
  CC       /tmp/build/perf/util/find_next_bit.o
  CC       /tmp/build/perf/arch/x86/util/tsc.o
  CC       /tmp/build/perf/arch/x86/util/pmu.o
  CC       /tmp/build/perf/builtin-list.o
  CC       /tmp/build/perf/util/help.o
  CC       /tmp/build/perf/arch/x86/util/kvm-stat.o
  CC       /tmp/build/perf/builtin-record.o
  CC       /tmp/build/perf/util/kallsyms.o
  CC       /tmp/build/perf/util/levenshtein.o
  CC       /tmp/build/perf/builtin-report.o
  CC       /tmp/build/perf/builtin-stat.o
  CC       /tmp/build/perf/util/llvm-utils.o
  CC       /tmp/build/perf/util/parse-options.o
  CC       /tmp/build/perf/arch/x86/util/perf_regs.o
  CC       /tmp/build/perf/builtin-timechart.o
  CC       /tmp/build/perf/arch/x86/tests/regs_load.o
  CC       /tmp/build/perf/arch/x86/util/dwarf-regs.o
  CC       /tmp/build/perf/builtin-top.o
  CC       /tmp/build/perf/arch/x86/tests/dwarf-unwind.o
  CC       /tmp/build/perf/util/parse-events.o
  CC       /tmp/build/perf/arch/x86/util/unwind-libunwind.o
  CC       /tmp/build/perf/arch/x86/tests/arch-tests.o
  CC       /tmp/build/perf/util/perf_regs.o
  CC       /tmp/build/perf/builtin-script.o
  CC       /tmp/build/perf/arch/x86/util/auxtrace.o
  CC       /tmp/build/perf/builtin-kmem.o
  CC       /tmp/build/perf/arch/x86/tests/rdpmc.o
  CC       /tmp/build/perf/arch/x86/util/intel-pt.o
  CC       /tmp/build/perf/util/path.o
  CC       /tmp/build/perf/arch/x86/tests/perf-time-to-tsc.o
  CC       /tmp/build/perf/builtin-lock.o
  CC       /tmp/build/perf/util/rbtree.o
  CC       /tmp/build/perf/arch/x86/util/intel-bts.o
  CC       /tmp/build/perf/arch/x86/tests/insn-x86.o
  CC       /tmp/build/perf/util/libstring.o
  LD       /tmp/build/perf/arch/x86/util/libperf-in.o
  CC       /tmp/build/perf/util/bitmap.o
  CC       /tmp/build/perf/builtin-kvm.o
  CC       /tmp/build/perf/arch/x86/tests/intel-cqm.o
  CC       /tmp/build/perf/util/hweight.o
  CC       /tmp/build/perf/builtin-inject.o
  CC       /tmp/build/perf/builtin-mem.o
  CC       /tmp/build/perf/ui/setup.o
  LD       /tmp/build/perf/arch/x86/tests/libperf-in.o
  LD       /tmp/build/perf/arch/x86/libperf-in.o
  LD       /tmp/build/perf/arch/libperf-in.o
  CC       /tmp/build/perf/util/run-command.o
  CC       /tmp/build/perf/builtin-data.o
  CC       /tmp/build/perf/ui/helpline.o
  CC       /tmp/build/perf/ui/progress.o
  CC       /tmp/build/perf/util/quote.o
  CC       /tmp/build/perf/scripts/perl/Perf-Trace-Util/Context.o
  CC       /tmp/build/perf/util/strbuf.o
  LD       /tmp/build/perf/scripts/perl/Perf-Trace-Util/libperf-in.o
  CC       /tmp/build/perf/scripts/python/Perf-Trace-Util/Context.o
  CC       /tmp/build/perf/ui/util.o
  CC       /tmp/build/perf/util/string.o
  CC       /tmp/build/perf/builtin-trace.o
  LD       /tmp/build/perf/scripts/python/Perf-Trace-Util/libperf-in.o
  LD       /tmp/build/perf/scripts/libperf-in.o
  CC       /tmp/build/perf/builtin-probe.o
  CC       /tmp/build/perf/ui/hist.o
  CC       /tmp/build/perf/util/strlist.o
  CC       /tmp/build/perf/ui/stdio/hist.o
  CC       /tmp/build/perf/bench/sched-messaging.o
  CC       /tmp/build/perf/util/strfilter.o
  CC       /tmp/build/perf/util/top.o
  CC       /tmp/build/perf/ui/browser.o
  CC       /tmp/build/perf/bench/sched-pipe.o
  CC       /tmp/build/perf/bench/mem-functions.o
  CC       /tmp/build/perf/ui/browsers/annotate.o
  CC       /tmp/build/perf/bench/futex-hash.o
  CC       /tmp/build/perf/ui/browsers/hists.o
  CC       /tmp/build/perf/util/usage.o
  CC       /tmp/build/perf/ui/tui/setup.o
  CC       /tmp/build/perf/ui/browsers/map.o
  CC       /tmp/build/perf/bench/futex-wake.o
  CC       /tmp/build/perf/util/wrapper.o
  CC       /tmp/build/perf/ui/tui/util.o
  CC       /tmp/build/perf/ui/browsers/scripts.o
  CC       /tmp/build/perf/util/sigchain.o
  CC       /tmp/build/perf/ui/tui/helpline.o
  CC       /tmp/build/perf/bench/futex-wake-parallel.o
  CC       /tmp/build/perf/util/dso.o
  CC       /tmp/build/perf/ui/browsers/header.o
  CC       /tmp/build/perf/bench/futex-requeue.o
  CC       /tmp/build/perf/ui/tui/progress.o
  CC       /tmp/build/perf/bench/futex-lock-pi.o
  LD       /tmp/build/perf/ui/browsers/libperf-in.o
  CC       /tmp/build/perf/bench/mem-memcpy-x86-64-asm.o
  CC       /tmp/build/perf/util/symbol.o
  CC       /tmp/build/perf/util/color.o
  LD       /tmp/build/perf/ui/tui/libperf-in.o
  LD       /tmp/build/perf/ui/libperf-in.o
  CC       /tmp/build/perf/util/pager.o
  CC       /tmp/build/perf/bench/mem-memset-x86-64-asm.o
  CC       /tmp/build/perf/tests/builtin-test.o
  CC       /tmp/build/perf/tests/parse-events.o
  CC       /tmp/build/perf/util/header.o
  CC       /tmp/build/perf/tests/dso-data.o
  CC       /tmp/build/perf/util/callchain.o
  CC       /tmp/build/perf/bench/numa.o
  CC       /tmp/build/perf/perf.o
  CC       /tmp/build/perf/tests/attr.o
  CC       /tmp/build/perf/tests/vmlinux-kallsyms.o
  LD       /tmp/build/perf/bench/perf-in.o
  CC       /tmp/build/perf/tests/openat-syscall.o
  CC       /tmp/build/perf/util/values.o
  CC       /tmp/build/perf/tests/openat-syscall-all-cpus.o
  CC       /tmp/build/perf/util/debug.o
  CC       /tmp/build/perf/util/machine.o
  CC       /tmp/build/perf/tests/openat-syscall-tp-fields.o
  CC       /tmp/build/perf/tests/mmap-basic.o
  CC       /tmp/build/perf/tests/perf-record.o
  CC       /tmp/build/perf/util/map.o
  CC       /tmp/build/perf/util/pstack.o
  CC       /tmp/build/perf/tests/evsel-roundtrip-name.o
  CC       /tmp/build/perf/tests/evsel-tp-sched.o
  CC       /tmp/build/perf/tests/fdarray.o
  CC       /tmp/build/perf/util/session.o
  CC       /tmp/build/perf/tests/pmu.o
  CC       /tmp/build/perf/util/ordered-events.o
  CC       /tmp/build/perf/util/comm.o
  CC       /tmp/build/perf/util/thread.o
  CC       /tmp/build/perf/tests/hists_common.o
  CC       /tmp/build/perf/tests/hists_link.o
  CC       /tmp/build/perf/tests/hists_filter.o
  CC       /tmp/build/perf/tests/hists_output.o
  CC       /tmp/build/perf/util/thread_map.o
  CC       /tmp/build/perf/tests/hists_cumulate.o
  CC       /tmp/build/perf/tests/python-use.o
  CC       /tmp/build/perf/util/trace-event-parse.o
  CC       /tmp/build/perf/util/parse-events-flex.o
  CC       /tmp/build/perf/util/parse-events-bison.o
  CC       /tmp/build/perf/tests/bp_signal.o
  CC       /tmp/build/perf/tests/bp_signal_overflow.o
  CC       /tmp/build/perf/util/pmu.o
  CC       /tmp/build/perf/util/pmu-flex.o
  CC       /tmp/build/perf/tests/task-exit.o
  CC       /tmp/build/perf/tests/sw-clock.o
  CC       /tmp/build/perf/util/pmu-bison.o
  CC       /tmp/build/perf/tests/mmap-thread-lookup.o
  CC       /tmp/build/perf/tests/thread-mg-share.o
  CC       /tmp/build/perf/tests/switch-tracking.o
  CC       /tmp/build/perf/util/trace-event-read.o
  CC       /tmp/build/perf/util/trace-event-info.o
  CC       /tmp/build/perf/util/trace-event-scripting.o
  CC       /tmp/build/perf/tests/keep-tracking.o
  CC       /tmp/build/perf/util/trace-event.o
  CC       /tmp/build/perf/tests/code-reading.o
  CC       /tmp/build/perf/util/svghelper.o
  CC       /tmp/build/perf/util/sort.o
  CC       /tmp/build/perf/tests/sample-parsing.o
  CC       /tmp/build/perf/tests/parse-no-sample-id-all.o
  CC       /tmp/build/perf/util/hist.o
  CC       /tmp/build/perf/tests/kmod-path.o
  CC       /tmp/build/perf/util/util.o
  CC       /tmp/build/perf/util/xyarray.o
  CC       /tmp/build/perf/tests/thread-map.o
  CC       /tmp/build/perf/tests/llvm.o
  CC       /tmp/build/perf/util/cpumap.o
  CC       /tmp/build/perf/util/cgroup.o
  CC       /tmp/build/perf/tests/llvm-src-base.o
  CC       /tmp/build/perf/tests/llvm-src-kbuild.o
  CC       /tmp/build/perf/util/target.o
  CC       /tmp/build/perf/util/rblist.o
  CC       /tmp/build/perf/util/intlist.o
/tmp/build/perf/tests/llvm-src-kbuild.c:1:24: fatal error: tests/llvm.h:
No such file or directory
 #include <tests/llvm.h>
                        ^
compilation terminated.
mv: cannot stat ‘/tmp/build/perf/tests/.llvm-src-kbuild.o.tmp’: No such
file or directory
/home/git/linux/tools/build/Makefile.build:77: recipe for target
'/tmp/build/perf/tests/llvm-src-kbuild.o' failed
make[3]: *** [/tmp/build/perf/tests/llvm-src-kbuild.o] Error 1
make[3]: *** Waiting for unfinished jobs....
  CC       /tmp/build/perf/util/vdso.o
  CC       /tmp/build/perf/util/counts.o
  CC       /tmp/build/perf/util/stat.o
/tmp/build/perf/tests/llvm-src-base.c:1:24: fatal error: tests/llvm.h:
No such file or directory
 #include <tests/llvm.h>
                        ^
compilation terminated.
mv: cannot stat ‘/tmp/build/perf/tests/.llvm-src-base.o.tmp’: No such
file or directory
/home/git/linux/tools/build/Makefile.build:77: recipe for target
'/tmp/build/perf/tests/llvm-src-base.o' failed
make[3]: *** [/tmp/build/perf/tests/llvm-src-base.o] Error 1
/home/git/linux/tools/build/Makefile.build:116: recipe for target
'tests' failed
make[2]: *** [tests] Error 2
Makefile.perf:313: recipe for target '/tmp/build/perf/perf-in.o' failed
make[1]: *** [/tmp/build/perf/perf-in.o] Error 2
make[1]: *** Waiting for unfinished jobs....
  CC       /tmp/build/perf/util/stat-shadow.o

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1284901 — Re: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools

FromArnaldo Carvalho de Melo <acme@kernel.org>
Date2015-12-06 19:30 +0100
SubjectRe: [PATCH 00/13] perf tools: Move perf subcommand framework into lib/tools
Message-ID<qCMem-23y-37@gated-at.bofh.it>
In reply to#1284822
Em Sun, Dec 06, 2015 at 10:37:52AM +0100, Ingo Molnar escreveu:
> 
> * Josh Poimboeuf <jpoimboe@redhat.com> wrote:
> 
> > Ingo suggested that I factor out the perf subcommand functionality
> > (originally copied from git) into tools/lib so that it can be used by
> > stacktool[*] and possibly others.
> > 
> > All the subcommand option handling files have been moved into libapi,
> > including parse-options.c, run-command.c, exec_cmd.c, help.c, usage.c,
> > and their dependencies.  Since several of the dependencies are more
> > general-purpose "utilities" which aren't directly related to
> > subcommands, I put everything in 'tools/lib/api/util'.  They're linked
> > into perf as part of the libapi.a library.
> > 
> > Patches 1-10 do some cleanups and splitting up of the code in
> > preparation for the move.
> > 
> > Patch 11 does the actual moving of the files into tools/lib/api/util.
> > 
> > [*] https://lkml.kernel.org/r/cover.1445443144.git.jpoimboe@redhat.com
> > 
> > Josh Poimboeuf (13):
> >   perf: Use -iquote for local include paths
> >   perf: Split up util.h
> >   perf: Move term functions out of util.c
> >   perf: Remove unused pager_use_color variable
> >   perf: Split up cache.h
> >   perf: Remove cache.h
> >   perf: Save cmdline arguments earlier
> >   perf: Remove check for unused PERF_PAGER_IN_USE
> >   perf: Move cmd_version() to builtin-version.c
> >   perf: Move help_unknown_cmd() to its own file
> >   perf tools: Move strlcpy() to tools/lib/string.c
> >   perf tools: Move perf subcommand framework into a library
> >   perf tools: Move subcommand framework and related utils to libapi
> 
> >  133 files changed, 852 insertions(+), 761 deletions(-)
> 
> So this split-out looks great to me!

I briefly looked at it on the smartphone, what I can remember as an
issue was naming, i.e. IIRC there is a util_cfg struct that looks too
vague, I'll re-read and suggest something.
 
> A bit of a background: this series is a necessary precondition of me being able to 
> merge 'stacktool' and the frame pointer handling enhancements Josh is working on - 
> but it would be nice if this could all be done via Arnaldo's perf tree to minimize 
> any impact on pending perf work.
 
> I've Cc:-ed Namhyung and Jiri as well, who've done a lot of work in perf/util/.

Commens from them would be more than welcome, Acks, even more.

- Arnaldo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web