Message ID | 20210921204839.236840-1-irogers@google.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [v2,1/4] perf: Enable libtracefs dynamic linking | expand |
On Tue, Sep 21, 2021 at 01:48:36PM -0700, Ian Rogers wrote: > Currently libtracefs isn't used by perf, but there are potential > improvements by using it as identified Steven Rostedt's e-mail: > https://lore.kernel.org/lkml/20210610154759.1ef958f0@oasis.local.home/ > > This change is modelled on the dynamic libtraceevent patch by Michael > Petlan: > https://lore.kernel.org/linux-perf-users/20210428092023.4009-1-mpetlan@redhat.com/ > > Signed-off-by: Ian Rogers <irogers@google.com> > --- > tools/build/Makefile.feature | 1 + > tools/build/feature/Makefile | 4 ++++ > tools/perf/Makefile.config | 9 +++++++++ > tools/perf/Makefile.perf | 2 ++ > 4 files changed, 16 insertions(+) > > diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature > index 3dd2f68366f9..45a9a59828c3 100644 > --- a/tools/build/Makefile.feature > +++ b/tools/build/Makefile.feature > @@ -52,6 +52,7 @@ FEATURE_TESTS_BASIC := \ > libslang \ > libslang-include-subdir \ > libtraceevent \ > + libtracefs \ > libcrypto \ > libunwind \ > pthread-attr-setaffinity-np \ > diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile > index eff55d287db1..d024b5204ba0 100644 > --- a/tools/build/feature/Makefile > +++ b/tools/build/feature/Makefile > @@ -36,6 +36,7 @@ FILES= \ > test-libslang.bin \ > test-libslang-include-subdir.bin \ > test-libtraceevent.bin \ > + test-libtracefs.bin \ > test-libcrypto.bin \ > test-libunwind.bin \ > test-libunwind-debug-frame.bin \ > @@ -199,6 +200,9 @@ $(OUTPUT)test-libslang-include-subdir.bin: > $(OUTPUT)test-libtraceevent.bin: > $(BUILD) -ltraceevent > > +$(OUTPUT)test-libtracefs.bin: > + $(BUILD) -ltracefs hum, looks like you forgot to git add test-libtracefs.c? jirka > + > $(OUTPUT)test-libcrypto.bin: > $(BUILD) -lcrypto > > diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config > index 446180401e26..00ec900ddbca 100644 > --- a/tools/perf/Makefile.config > +++ b/tools/perf/Makefile.config > @@ -1098,6 +1098,15 @@ ifdef LIBTRACEEVENT_DYNAMIC > endif > endif > > +ifdef LIBTRACEFS_DYNAMIC > + $(call feature_check,libtracefs) > + ifeq ($(feature-libtracefs), 1) > + EXTLIBS += -ltracefs > + else > + dummy := $(error Error: No libtracefs devel library found, please install libtracefs-dev); > + endif > +endif > + > # Among the variables below, these: > # perfexecdir > # perf_include_dir > diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf > index e04313c4d840..7df13e74450c 100644 > --- a/tools/perf/Makefile.perf > +++ b/tools/perf/Makefile.perf > @@ -130,6 +130,8 @@ include ../scripts/utilities.mak > # > # Define LIBTRACEEVENT_DYNAMIC to enable libtraceevent dynamic linking > # > +# Define LIBTRACEFS_DYNAMIC to enable libtracefs dynamic linking > +# > > # As per kernel Makefile, avoid funny character set dependencies > unexport LC_ALL > -- > 2.33.0.464.g1972c5931b-goog >
diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature index 3dd2f68366f9..45a9a59828c3 100644 --- a/tools/build/Makefile.feature +++ b/tools/build/Makefile.feature @@ -52,6 +52,7 @@ FEATURE_TESTS_BASIC := \ libslang \ libslang-include-subdir \ libtraceevent \ + libtracefs \ libcrypto \ libunwind \ pthread-attr-setaffinity-np \ diff --git a/tools/build/feature/Makefile b/tools/build/feature/Makefile index eff55d287db1..d024b5204ba0 100644 --- a/tools/build/feature/Makefile +++ b/tools/build/feature/Makefile @@ -36,6 +36,7 @@ FILES= \ test-libslang.bin \ test-libslang-include-subdir.bin \ test-libtraceevent.bin \ + test-libtracefs.bin \ test-libcrypto.bin \ test-libunwind.bin \ test-libunwind-debug-frame.bin \ @@ -199,6 +200,9 @@ $(OUTPUT)test-libslang-include-subdir.bin: $(OUTPUT)test-libtraceevent.bin: $(BUILD) -ltraceevent +$(OUTPUT)test-libtracefs.bin: + $(BUILD) -ltracefs + $(OUTPUT)test-libcrypto.bin: $(BUILD) -lcrypto diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config index 446180401e26..00ec900ddbca 100644 --- a/tools/perf/Makefile.config +++ b/tools/perf/Makefile.config @@ -1098,6 +1098,15 @@ ifdef LIBTRACEEVENT_DYNAMIC endif endif +ifdef LIBTRACEFS_DYNAMIC + $(call feature_check,libtracefs) + ifeq ($(feature-libtracefs), 1) + EXTLIBS += -ltracefs + else + dummy := $(error Error: No libtracefs devel library found, please install libtracefs-dev); + endif +endif + # Among the variables below, these: # perfexecdir # perf_include_dir diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf index e04313c4d840..7df13e74450c 100644 --- a/tools/perf/Makefile.perf +++ b/tools/perf/Makefile.perf @@ -130,6 +130,8 @@ include ../scripts/utilities.mak # # Define LIBTRACEEVENT_DYNAMIC to enable libtraceevent dynamic linking # +# Define LIBTRACEFS_DYNAMIC to enable libtracefs dynamic linking +# # As per kernel Makefile, avoid funny character set dependencies unexport LC_ALL
Currently libtracefs isn't used by perf, but there are potential improvements by using it as identified Steven Rostedt's e-mail: https://lore.kernel.org/lkml/20210610154759.1ef958f0@oasis.local.home/ This change is modelled on the dynamic libtraceevent patch by Michael Petlan: https://lore.kernel.org/linux-perf-users/20210428092023.4009-1-mpetlan@redhat.com/ Signed-off-by: Ian Rogers <irogers@google.com> --- tools/build/Makefile.feature | 1 + tools/build/feature/Makefile | 4 ++++ tools/perf/Makefile.config | 9 +++++++++ tools/perf/Makefile.perf | 2 ++ 4 files changed, 16 insertions(+)