Commit b3fa3896 authored by Hendrik Brueckner's avatar Hendrik Brueckner Committed by Arnaldo Carvalho de Melo
Browse files

perf trace: Remove audit-libs dependency if syscall tables are present



Change the Makefile and build process to no longer require audit-libs
interfaces when the architecture provides system call tables.

Committer notes:

Its not enough to hook into the NO_LIBAUDIT makefile block, we need to
define a CONFIG_TRACE that gets selected by both architectures
generating the syscall tables from the kernel headers and from detecting
the availability of libaudit.

With that in place we will not link against libaudit even if the
necessary files are available for that, in fact we will not even try to
detect its availability, speeding up a bit the feature detection phase.

Signed-off-by: default avatarHendrik Brueckner <brueckner@linux.vnet.ibm.com>
Reviewed-by: default avatarThomas Richter <tmricht@linux.vnet.ibm.com>
Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: linux-s390@vger.kernel.org
LPU-Reference: 1516352177-11106-6-git-send-email-brueckner@linux.vnet.ibm.com
Link: https://lkml.kernel.org/n/tip-j68lub6ipm8apvy52vd3l4cm@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 092bd3cd
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -25,7 +25,7 @@ perf-y += builtin-data.o
perf-y += builtin-version.o
perf-y += builtin-c2c.o

perf-$(CONFIG_AUDIT) += builtin-trace.o
perf-$(CONFIG_TRACE) += builtin-trace.o
perf-$(CONFIG_LIBELF) += builtin-probe.o

perf-y += bench/
@@ -50,6 +50,6 @@ libperf-y += util/
libperf-y += arch/
libperf-y += ui/
libperf-y += scripts/
libperf-$(CONFIG_AUDIT) += trace/beauty/
libperf-$(CONFIG_TRACE) += trace/beauty/

gtk-y += ui/gtk/
+12 −8
Original line number Diff line number Diff line
@@ -531,6 +531,9 @@ ifndef NO_LIBUNWIND
  EXTLIBS += $(EXTLIBS_LIBUNWIND)
endif

ifeq ($(NO_SYSCALL_TABLE),0)
  $(call detected,CONFIG_TRACE)
else
  ifndef NO_LIBAUDIT
    ifneq ($(feature-libaudit), 1)
      msg := $(warning No libaudit.h found, disables 'trace' tool, please install audit-libs-devel or libaudit-dev);
@@ -538,7 +541,8 @@ ifndef NO_LIBAUDIT
    else
      CFLAGS += -DHAVE_LIBAUDIT_SUPPORT
      EXTLIBS += -laudit
    $(call detected,CONFIG_AUDIT)
      $(call detected,CONFIG_TRACE)
    endif
  endif
endif

+1 −1
Original line number Diff line number Diff line
@@ -439,7 +439,7 @@ int cmd_help(int argc, const char **argv)
#ifdef HAVE_LIBELF_SUPPORT
		"probe",
#endif
#ifdef HAVE_LIBAUDIT_SUPPORT
#if defined(HAVE_LIBAUDIT_SUPPORT) || defined(HAVE_SYSCALL_TABLE)
		"trace",
#endif
	NULL };
+2 −2
Original line number Diff line number Diff line
@@ -73,7 +73,7 @@ static struct cmd_struct commands[] = {
	{ "lock",	cmd_lock,	0 },
	{ "kvm",	cmd_kvm,	0 },
	{ "test",	cmd_test,	0 },
#ifdef HAVE_LIBAUDIT_SUPPORT
#if defined(HAVE_LIBAUDIT_SUPPORT) || defined(HAVE_SYSCALL_TABLE)
	{ "trace",	cmd_trace,	0 },
#endif
	{ "inject",	cmd_inject,	0 },
@@ -485,7 +485,7 @@ int main(int argc, const char **argv)
		argv[0] = cmd;
	}
	if (strstarts(cmd, "trace")) {
#ifdef HAVE_LIBAUDIT_SUPPORT
#if defined(HAVE_LIBAUDIT_SUPPORT) || defined(HAVE_SYSCALL_TABLE)
		setup_path();
		argv[0] = "trace";
		return cmd_trace(argc, argv);
+1 −1
Original line number Diff line number Diff line
@@ -44,7 +44,7 @@ libperf-y += machine.o
libperf-y += map.o
libperf-y += pstack.o
libperf-y += session.o
libperf-$(CONFIG_AUDIT) += syscalltbl.o
libperf-$(CONFIG_TRACE) += syscalltbl.o
libperf-y += ordered-events.o
libperf-y += namespaces.o
libperf-y += comm.o
Loading