Re: [PATCH 18/22] perf tools: Add udis86 disassembler feature check

From: Namhyung Kim
Date: Fri Nov 22 2013 - 10:38:14 EST


2013-11-21 (ë), 12:01 +0100, Jiri Olsa:
> Adding udis86 disassembler feature check which support
> is needed for kvm:kvm_emulate_insn tracepoint.
>
> The diff of 'perf script' output generated by old and new code:
> (data was generated by 'perf record -e kvm:kvm_emulate_insn -a')
>
> --- script.kvm.old
> +++ script.kvm.new
> - qemu-system-x86 15519 [003] 5332.470049: kvm:kvm_emulate_insn: 0:ffffffff8103c596:89 b7 00 80 5f ff (prot64)
> + qemu-system-x86 15519 [003] 5332.470049: kvm:kvm_emulate_insn: 0:ffffffff8103c596: mov %esi, -0xa08000(%rdi)

[SNIP]
> --- a/tools/perf/Makefile.perf
> +++ b/tools/perf/Makefile.perf
> @@ -710,7 +710,7 @@ $(LIB_FILE): $(LIB_OBJS)
> # libtraceevent.a
> TE_SOURCES = $(wildcard $(TRACE_EVENT_DIR)*.[ch])
>
> -LIBTRACEEVENT_FLAGS=$(QUIET_SUBDIR1) O=$(OUTPUT) CFLAGS="-g -Wall $(EXTRA_CFLAGS)" plugin_dir=$(plugindir_SQ)
> +LIBTRACEEVENT_FLAGS=$(QUIET_SUBDIR1) O=$(OUTPUT) CFLAGS="-g -Wall $(EXTRA_CFLAGS) $(LIBTRACEEVENT_CFLAGS)" plugin_dir=$(plugindir_SQ)

What about breaking the line with "+="?

>
> $(LIBTRACEEVENT): $(TE_SOURCES) $(OUTPUT)PERF-CFLAGS
> $(QUIET_SUBDIR0)$(TRACE_EVENT_DIR) $(LIBTRACEEVENT_FLAGS) libtraceevent.a plugins
> diff --git a/tools/perf/config/Makefile b/tools/perf/config/Makefile
> index 8c8a205..3f9c6b4 100644
> --- a/tools/perf/config/Makefile
> +++ b/tools/perf/config/Makefile
> @@ -418,6 +418,14 @@ else
> msg := $(warning No timerfd support. Disables 'perf kvm stat live');
> endif
>
> +$(call feature_check,udis86)
> +ifeq ($(feature-udis86), 1)
> + LIBTRACEEVENT_CFLAGS += -DHAVE_UDIS86
> + EXTLIBS += -ludis86
> +else
> + msg := $(warning No udis86 support.);
> +endif

I think we can just use libbfd for this eventually. But it can be a
later work. :)

Thanks,
Namhyung


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