aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tools/build/Makefile.feature5
-rw-r--r--tools/build/feature/Makefile6
-rw-r--r--tools/build/feature/test-all.c6
-rw-r--r--tools/build/feature/test-babeltrace2-ctf-writer.c (renamed from tools/build/feature/test-libbabeltrace.c)3
-rw-r--r--tools/perf/Makefile.config27
-rw-r--r--tools/perf/Makefile.perf2
-rw-r--r--tools/perf/builtin-check.c2
-rw-r--r--tools/perf/builtin-data.c18
-rw-r--r--tools/perf/tests/make4
-rwxr-xr-xtools/perf/tests/shell/test_perf_data_converter_ctf.sh8
-rw-r--r--tools/perf/util/Build2
-rw-r--r--tools/perf/util/data-convert-bt.c33
-rw-r--r--tools/perf/util/data-convert.h4
13 files changed, 53 insertions, 67 deletions
diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
index af79c6cf0229..ed1374af31c1 100644
--- a/tools/build/Makefile.feature
+++ b/tools/build/Makefile.feature
@@ -116,7 +116,7 @@ FEATURE_TESTS_EXTRA := \
gtk2 \
gtk2-infobar \
hello \
- libbabeltrace \
+ babeltrace2-ctf-writer \
libcapstone \
libcheck \
libbfd-liberty \
@@ -169,6 +169,7 @@ FEATURE_GROUP_MEMBERS-libbfd = libbfd-liberty libbfd-liberty-z
# Declare list of feature dependency packages that provide pkg-config files.
#
FEATURE_PKG_CONFIG ?= \
+ babeltrace2-ctf-writer \
libtraceevent \
libtracefs
@@ -217,7 +218,7 @@ ifeq ($(feature-all), 1)
$(call feature_check,compile-32)
$(call feature_check,compile-x32)
$(call feature_check,bionic)
- $(call feature_check,libbabeltrace)
+ $(call feature_check,babeltrace2-ctf-writer)
$(call feature_check,libunwind)
$(call feature_check,libunwind-debug-frame)
$(foreach arch,$(LIBUNWIND_ARCHS),$(call feature_check,libunwind-$(arch)))
diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile
index 9da5a4fd956a..62909a9c799d 100644
--- a/tools/build/feature/Makefile
+++ b/tools/build/feature/Makefile
@@ -45,7 +45,7 @@ FILES= \
test-pthread-barrier.bin \
test-stackprotector-all.bin \
test-timerfd.bin \
- test-libbabeltrace.bin \
+ test-babeltrace2-ctf-writer.bin \
test-libcapstone.bin \
test-libcheck.bin \
test-compile-32.bin \
@@ -305,8 +305,8 @@ $(OUTPUT)test-backtrace.bin:
$(OUTPUT)test-timerfd.bin:
$(BUILD)
-$(OUTPUT)test-libbabeltrace.bin:
- $(BUILD) # -lbabeltrace provided by $(FEATURE_CHECK_LDFLAGS-libbabeltrace)
+$(OUTPUT)test-babeltrace2-ctf-writer.bin:
+ $(BUILD) # -lbabeltrace2-ctf-writer provided by $(FEATURE_CHECK_LDFLAGS-babeltrace2-ctf-writer)
$(OUTPUT)test-libcapstone.bin:
$(BUILD) # -lcapstone provided by $(FEATURE_CHECK_LDFLAGS-libcapstone)
diff --git a/tools/build/feature/test-all.c b/tools/build/feature/test-all.c
index 1488bf6e6078..544563d62950 100644
--- a/tools/build/feature/test-all.c
+++ b/tools/build/feature/test-all.c
@@ -100,13 +100,13 @@
# if 0
/*
- * Disable libbabeltrace check for test-all, because the requested
+ * Disable babeltrace2-ctf-writer check for test-all, because the requested
* library version is not released yet in most distributions. Will
* reenable later.
*/
-#define main main_test_libbabeltrace
-# include "test-libbabeltrace.c"
+#define main main_test_babeltrace2_ctf_writer
+# include "test-babeltrace2-ctf-writer.c"
#undef main
#endif
diff --git a/tools/build/feature/test-libbabeltrace.c b/tools/build/feature/test-babeltrace2-ctf-writer.c
index 10bb69d55694..9c89082e9f88 100644
--- a/tools/build/feature/test-libbabeltrace.c
+++ b/tools/build/feature/test-babeltrace2-ctf-writer.c
@@ -1,7 +1,6 @@
// SPDX-License-Identifier: GPL-2.0
-#include <babeltrace/ctf-writer/writer.h>
-#include <babeltrace/ctf-ir/stream-class.h>
+#include <babeltrace2-ctf-writer/writer.h>
int main(void)
{
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index c531b9315609..6e7b15fab2ec 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -184,14 +184,11 @@ endif
FEATURE_CHECK_CFLAGS-libdw := $(LIBDW_CFLAGS)
FEATURE_CHECK_LDFLAGS-libdw := $(LIBDW_LDFLAGS) $(DWARFLIBS)
-# for linking with debug library, run like:
-# make DEBUG=1 LIBBABELTRACE_DIR=/opt/libbabeltrace/
-ifdef LIBBABELTRACE_DIR
- LIBBABELTRACE_CFLAGS := -I$(LIBBABELTRACE_DIR)/include
- LIBBABELTRACE_LDFLAGS := -L$(LIBBABELTRACE_DIR)/lib
+ifneq ($(NO_BABELTRACE2),1)
+ ifeq ($(call get-executable,$(PKG_CONFIG)),)
+ $(error Error: $(PKG_CONFIG) needed by babeltrace2 is missing on this system, please install it)
+ endif
endif
-FEATURE_CHECK_CFLAGS-libbabeltrace := $(LIBBABELTRACE_CFLAGS)
-FEATURE_CHECK_LDFLAGS-libbabeltrace := $(LIBBABELTRACE_LDFLAGS) -lbabeltrace-ctf
# for linking with debug library, run like:
# make DEBUG=1 LIBCAPSTONE_DIR=/opt/capstone/
@@ -1035,15 +1032,15 @@ else
NO_PERF_READ_VDSOX32 := 1
endif
-ifndef NO_LIBBABELTRACE
- $(call feature_check,libbabeltrace)
- ifeq ($(feature-libbabeltrace), 1)
- CFLAGS += -DHAVE_LIBBABELTRACE_SUPPORT $(LIBBABELTRACE_CFLAGS)
- LDFLAGS += $(LIBBABELTRACE_LDFLAGS)
- EXTLIBS += -lbabeltrace-ctf
- $(call detected,CONFIG_LIBBABELTRACE)
+ifndef NO_BABELTRACE2
+ $(call feature_check,babeltrace2-ctf-writer)
+ ifeq ($(feature-babeltrace2-ctf-writer), 1)
+ CFLAGS += -DHAVE_BABELTRACE2_CTF_WRITER_SUPPORT $(shell $(PKG_CONFIG) --cflags babeltrace2-ctf-writer)
+ LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L babeltrace2-ctf-writer)
+ EXTLIBS += $(shell $(PKG_CONFIG) --libs-only-l babeltrace2-ctf-writer)
+ $(call detected,CONFIG_BABELTRACE2_CTF_WRITER)
else
- $(warning No libbabeltrace found, disables 'perf data' CTF format support, please install libbabeltrace-dev[el]/libbabeltrace-ctf-dev)
+ $(warning No babeltrace2 found, disables 'perf data' CTF format support, please install libbabeltrace2-dev[el])
endif
endif
diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
index 4ac2a0cec9ee..ab661a1d271c 100644
--- a/tools/perf/Makefile.perf
+++ b/tools/perf/Makefile.perf
@@ -79,7 +79,7 @@ include ../scripts/utilities.mak
#
# Define NO_ZLIB if you do not want to support compressed kernel modules
#
-# Define NO_LIBBABELTRACE if you do not want libbabeltrace support
+# Define NO_BABELTRACE2 if you do not want babeltrace2-ctf-writer support
# for CTF data format.
#
# Define NO_CAPSTONE if you do not want libcapstone support
diff --git a/tools/perf/builtin-check.c b/tools/perf/builtin-check.c
index 3641d263b345..60437650c50f 100644
--- a/tools/perf/builtin-check.c
+++ b/tools/perf/builtin-check.c
@@ -43,7 +43,7 @@ struct feature_status supported_features[] = {
FEATURE_STATUS("dwarf_getlocations", HAVE_LIBDW_SUPPORT),
FEATURE_STATUS("dwarf-unwind", HAVE_DWARF_UNWIND_SUPPORT),
FEATURE_STATUS_TIP("libbfd", HAVE_LIBBFD_SUPPORT, "Deprecated, license incompatibility, use BUILD_NONDISTRO=1 and install binutils-dev[el]"),
- FEATURE_STATUS("libbabeltrace", HAVE_LIBBABELTRACE_SUPPORT),
+ FEATURE_STATUS("babeltrace2-ctf-writer", HAVE_BABELTRACE2_CTF_WRITER_SUPPORT),
FEATURE_STATUS("libbpf-strings", HAVE_LIBBPF_STRINGS_SUPPORT),
FEATURE_STATUS("libcapstone", HAVE_LIBCAPSTONE_SUPPORT),
FEATURE_STATUS("libdw-dwarf-unwind", HAVE_LIBDW_SUPPORT),
diff --git a/tools/perf/builtin-data.c b/tools/perf/builtin-data.c
index 4c08ccb8c06b..1dd73ed6bdcb 100644
--- a/tools/perf/builtin-data.c
+++ b/tools/perf/builtin-data.c
@@ -40,10 +40,8 @@ static const struct option data_options[] = {
OPT_INCR('v', "verbose", &verbose, "be more verbose"),
OPT_STRING('i', "input", &input_name, "file", "input file name"),
OPT_STRING(0, "to-json", &to_json, NULL, "Convert to JSON format"),
-#ifdef HAVE_LIBBABELTRACE_SUPPORT
OPT_STRING(0, "to-ctf", &to_ctf, NULL, "Convert to CTF format"),
OPT_BOOLEAN(0, "tod", &opts.tod, "Convert time to wall clock time"),
-#endif
OPT_BOOLEAN('f', "force", &opts.force, "don't complain, do it"),
OPT_BOOLEAN(0, "all", &opts.all, "Convert all events"),
OPT_STRING(0, "time", &opts.time_str, "str",
@@ -65,29 +63,21 @@ static int cmd_data_convert(int argc, const char **argv)
pr_err("You cannot specify both --to-ctf and --to-json.\n");
return -1;
}
-#ifdef HAVE_LIBBABELTRACE_SUPPORT
if (!to_json && !to_ctf) {
pr_err("You must specify one of --to-ctf or --to-json.\n");
return -1;
}
-#else
- if (!to_json) {
- pr_err("You must specify --to-json.\n");
- return -1;
-}
-#endif
if (to_json)
return bt_convert__perf2json(input_name, to_json, &opts);
if (to_ctf) {
-#if defined(HAVE_LIBBABELTRACE_SUPPORT) && defined(HAVE_LIBTRACEEVENT)
+#if defined(HAVE_BABELTRACE2_CTF_WRITER_SUPPORT) && defined(HAVE_LIBTRACEEVENT)
return bt_convert__perf2ctf(input_name, to_ctf, &opts);
#else
- pr_err("The libbabeltrace support is not compiled in. perf should be "
- "compiled with environment variables LIBBABELTRACE=1 and "
- "LIBBABELTRACE_DIR=/path/to/libbabeltrace/.\n"
- "Check also if libbtraceevent devel files are available.\n");
+ pr_err("The babeltrace2 ctf support is not compiled in. Ensure you have both\n"
+ "libbabeltrace2-dev[el] and libtraceevent-dev[el] installed or set\n"
+ "PKG_CONFIG_PATH to find a local installation of those libraries.\n");
return -1;
#endif
}
diff --git a/tools/perf/tests/make b/tools/perf/tests/make
index dbd7c86a2dcc..d2c2f526e1db 100644
--- a/tools/perf/tests/make
+++ b/tools/perf/tests/make
@@ -91,7 +91,7 @@ make_no_libbpf := NO_LIBBPF=1
make_libbpf_dynamic := LIBBPF_DYNAMIC=1
make_no_libbpf_DEBUG := NO_LIBBPF=1 DEBUG=1
make_no_libllvm := NO_LIBLLVM=1
-make_with_babeltrace:= LIBBABELTRACE=1
+make_no_babeltrace2 := NO_BABELTRACE2=1
make_with_coresight := CORESIGHT=1
make_no_sdt := NO_SDT=1
make_no_libpfm4 := NO_LIBPFM4=1
@@ -166,7 +166,7 @@ run += make_no_libbpf_DEBUG
run += make_no_libllvm
run += make_no_sdt
run += make_no_syscall_tbl
-run += make_with_babeltrace
+run += make_no_babeltrace2
run += make_with_coresight
run += make_with_clangllvm
run += make_no_libpfm4
diff --git a/tools/perf/tests/shell/test_perf_data_converter_ctf.sh b/tools/perf/tests/shell/test_perf_data_converter_ctf.sh
index 334eebc9945e..bc58a8dabf4c 100755
--- a/tools/perf/tests/shell/test_perf_data_converter_ctf.sh
+++ b/tools/perf/tests/shell/test_perf_data_converter_ctf.sh
@@ -24,11 +24,11 @@ trap_cleanup()
}
trap trap_cleanup exit term int
-check_babeltrace_support()
+check_babeltrace2_support()
{
- if ! perf check feature libbabeltrace
+ if ! perf check feature babeltrace2-ctf-writer
then
- echo "perf not linked with libbabeltrace, skipping test"
+ echo "perf not linked with babeltrace2-ctf-writer, skipping test"
exit 2
fi
}
@@ -97,7 +97,7 @@ test_ctf_converter_pipe()
fi
}
-check_babeltrace_support
+check_babeltrace2_support
test_ctf_converter_file
test_ctf_converter_pipe
diff --git a/tools/perf/util/Build b/tools/perf/util/Build
index 4bbc78b1f741..b22cdc24082a 100644
--- a/tools/perf/util/Build
+++ b/tools/perf/util/Build
@@ -230,7 +230,7 @@ perf-util-$(CONFIG_LIBUNWIND) += unwind-libunwind.o
perf-util-$(CONFIG_LIBUNWIND) += libunwind-arch/
ifeq ($(CONFIG_LIBTRACEEVENT),y)
- perf-util-$(CONFIG_LIBBABELTRACE) += data-convert-bt.o
+ perf-util-$(CONFIG_BABELTRACE2_CTF_WRITER) += data-convert-bt.o
endif
perf-util-y += data-convert-json.o
diff --git a/tools/perf/util/data-convert-bt.c b/tools/perf/util/data-convert-bt.c
index cc51b8677c8e..5ff46bfcd0e1 100644
--- a/tools/perf/util/data-convert-bt.c
+++ b/tools/perf/util/data-convert-bt.c
@@ -11,14 +11,13 @@
#include <linux/compiler.h>
#include <linux/kernel.h>
#include <linux/zalloc.h>
-#include <babeltrace/ctf-writer/writer.h>
-#include <babeltrace/ctf-writer/clock.h>
-#include <babeltrace/ctf-writer/stream.h>
-#include <babeltrace/ctf-writer/event.h>
-#include <babeltrace/ctf-writer/event-types.h>
-#include <babeltrace/ctf-writer/event-fields.h>
-#include <babeltrace/ctf-ir/utils.h>
-#include <babeltrace/ctf/events.h>
+#include <babeltrace2-ctf-writer/writer.h>
+#include <babeltrace2-ctf-writer/clock.h>
+#include <babeltrace2-ctf-writer/stream.h>
+#include <babeltrace2-ctf-writer/event.h>
+#include <babeltrace2-ctf-writer/event-types.h>
+#include <babeltrace2-ctf-writer/event-fields.h>
+#include <babeltrace2-ctf-writer/utils.h>
#include "asm/bug.h"
#include "data-convert.h"
#include "session.h"
@@ -121,13 +120,13 @@ static int value_set(struct bt_ctf_field_type *type,
}
if (sign) {
- ret = bt_ctf_field_signed_integer_set_value(field, val);
+ ret = bt_ctf_field_integer_signed_set_value(field, val);
if (ret) {
pr_err("failed to set field value %s\n", name);
goto err;
}
} else {
- ret = bt_ctf_field_unsigned_integer_set_value(field, val);
+ ret = bt_ctf_field_integer_unsigned_set_value(field, val);
if (ret) {
pr_err("failed to set field value %s\n", name);
goto err;
@@ -374,10 +373,10 @@ static int add_tracepoint_field_value(struct ctf_writer *cw,
data + offset + i * len, len);
if (!(flags & TEP_FIELD_IS_SIGNED))
- ret = bt_ctf_field_unsigned_integer_set_value(
+ ret = bt_ctf_field_integer_unsigned_set_value(
field, value_int);
else
- ret = bt_ctf_field_signed_integer_set_value(
+ ret = bt_ctf_field_integer_signed_set_value(
field, adjust_signedness(value_int, len));
}
@@ -471,7 +470,7 @@ add_bpf_output_values(struct bt_ctf_event_class *event_class,
goto put_len_type;
}
- ret = bt_ctf_field_unsigned_integer_set_value(len_field, nr_elements);
+ ret = bt_ctf_field_integer_unsigned_set_value(len_field, nr_elements);
if (ret) {
pr_err("failed to set field value for raw_len\n");
goto put_len_field;
@@ -500,7 +499,7 @@ add_bpf_output_values(struct bt_ctf_event_class *event_class,
struct bt_ctf_field *elem_field =
bt_ctf_field_sequence_get_field(seq_field, i);
- ret = bt_ctf_field_unsigned_integer_set_value(elem_field,
+ ret = bt_ctf_field_integer_unsigned_set_value(elem_field,
((u32 *)(sample->raw_data))[i]);
bt_ctf_field_put(elem_field);
@@ -545,7 +544,7 @@ add_callchain_output_values(struct bt_ctf_event_class *event_class,
goto put_len_type;
}
- ret = bt_ctf_field_unsigned_integer_set_value(len_field, nr_elements);
+ ret = bt_ctf_field_integer_unsigned_set_value(len_field, nr_elements);
if (ret) {
pr_err("failed to set field value for perf_callchain_size\n");
goto put_len_field;
@@ -575,7 +574,7 @@ add_callchain_output_values(struct bt_ctf_event_class *event_class,
struct bt_ctf_field *elem_field =
bt_ctf_field_sequence_get_field(seq_field, i);
- ret = bt_ctf_field_unsigned_integer_set_value(elem_field,
+ ret = bt_ctf_field_integer_unsigned_set_value(elem_field,
((u64 *)(callchain->ips))[i]);
bt_ctf_field_put(elem_field);
@@ -728,7 +727,7 @@ static struct ctf_stream *ctf_stream__create(struct ctf_writer *cw, int cpu)
goto out;
}
- ret = bt_ctf_field_unsigned_integer_set_value(cpu_field, (u32) cpu);
+ ret = bt_ctf_field_integer_unsigned_set_value(cpu_field, (u32) cpu);
if (ret) {
pr_err("Failed to update CPU number\n");
goto out;
diff --git a/tools/perf/util/data-convert.h b/tools/perf/util/data-convert.h
index ee651fa680a1..a96240f15671 100644
--- a/tools/perf/util/data-convert.h
+++ b/tools/perf/util/data-convert.h
@@ -11,10 +11,10 @@ struct perf_data_convert_opts {
const char *time_str;
};
-#ifdef HAVE_LIBBABELTRACE_SUPPORT
+#ifdef HAVE_BABELTRACE2_CTF_WRITER_SUPPORT
int bt_convert__perf2ctf(const char *input_name, const char *to_ctf,
struct perf_data_convert_opts *opts);
-#endif /* HAVE_LIBBABELTRACE_SUPPORT */
+#endif /* HAVE_BABELTRACE2_CTF_WRITER_SUPPORT */
int bt_convert__perf2json(const char *input_name, const char *to_ctf,
struct perf_data_convert_opts *opts);