linux_dsm_epyc7002/tools/perf
Arnaldo Carvalho de Melo 1d027ee9b8 perf probe: Fix build when DWARF support libraries not present
On a freshly installed system, after libelf-dev is installed we get:

    CC       /tmp/build/perf/util/probe-event.o
  util/probe-event.c: In function ‘try_to_find_probe_trace_events’:
  util/probe-event.c:753:46: error: unused parameter ‘target’ [-Werror=unused-parameter]
       int max_tevs __maybe_unused, const char *target)
                                                ^
    CC       /tmp/build/perf/util/cgroup.o
  util/probe-event.c: At top level:
  util/probe-event.c:193:12: error: ‘get_text_start_address’ defined but not used [-Werror=unused-function]
   static int get_text_start_address(const char *exec, unsigned long *address)
            ^
  cc1: all warnings being treated as errors
  make[1]: *** [/tmp/build/perf/util/probe-event.o] Error 1
  make[1]: *** Waiting for unfinished jobs....
  make: *** [install] Error 2

Fix it by enclosing functions only used when those libraries are installed
under the suitable preprocessor define and using __maybe_unused to a function
that is only built when DWARF support is disabled.

Problem introduced in this changeset:

  commit fb7345bbf7
  Author: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
  Date:   Thu Dec 26 05:41:53 2013 +0000

      perf probe: Support basic dwarf-based operations on uprobe events

Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Stephane Eranian <eranian@google.com>
Link: http://lkml.kernel.org/n/tip-73kc2fopt81517hrdgdra18o@git.kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
2014-01-13 15:15:25 -03:00
..
arch perf tools: Introduce zfree 2013-12-27 15:17:00 -03:00
bench
config tools include: Move perf's linux/compiler.h to a generic place 2014-01-13 10:06:25 -03:00
Documentation perf record: Add --initial-delay option 2014-01-13 10:07:03 -03:00
python
scripts
tests perf tools: Add test for building detached source tarballs 2014-01-13 10:06:26 -03:00
ui perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
util perf probe: Fix build when DWARF support libraries not present 2014-01-13 15:15:25 -03:00
.gitignore
builtin-annotate.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-bench.c
builtin-buildid-cache.c
builtin-buildid-list.c
builtin-diff.c perf diff: Color the Weighted Diff column 2014-01-13 11:38:25 -03:00
builtin-evlist.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-help.c
builtin-inject.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-kmem.c
builtin-kvm.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-list.c
builtin-lock.c
builtin-mem.c perf mem: Remove unused parameter from dump_raw_samples() 2013-12-19 17:03:39 -03:00
builtin-probe.c perf probe: Support basic dwarf-based operations on uprobe events 2013-12-26 11:22:01 -03:00
builtin-record.c perf record: Add --initial-delay option 2014-01-13 10:07:03 -03:00
builtin-report.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-sched.c perf tools: Use zfree to help detect use after free bugs 2013-12-27 17:08:19 -03:00
builtin-script.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-stat.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-timechart.c perf tools: Introduce zfree 2013-12-27 15:17:00 -03:00
builtin-top.c perf evlist: Introduce evlist__for_each() & friends 2014-01-13 10:06:25 -03:00
builtin-trace.c perf trace: Pack 'struct trace' 2014-01-13 10:06:23 -03:00
builtin.h
command-list.txt
CREDITS
design.txt
Makefile
Makefile.perf tools include: Move perf's bug.h to a generic place 2014-01-13 10:06:26 -03:00
MANIFEST perf tools: Include tools/lib/api/ in MANIFEST 2014-01-13 10:06:26 -03:00
perf-archive.sh
perf-completion.sh perf completion: Complete 'perf kvm' 2013-12-13 10:30:21 -03:00
perf.c tools/: Convert to new topic libraries 2013-12-16 16:03:27 -03:00
perf.h perf record: Add --initial-delay option 2014-01-13 10:07:03 -03:00