Skip to content

Commit

Permalink
perf tools: Propagate CFLAGS to libperf
Browse files Browse the repository at this point in the history
Andi reported that 'make DEBUG=1' does not propagate to the libbperf
code. It's true also for the other flags. Changing the code to propagate
the global build flags to libperf compilation.

Reported-by: Andi Kleen <ak@linux.intel.com>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Michael Petlan <mpetlan@redhat.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lore.kernel.org/lkml/20191011122155.15738-1-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
  • Loading branch information
Jiri Olsa authored and Arnaldo Carvalho de Melo committed Oct 11, 2019
1 parent 84227cb commit 5554211
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 15 deletions.
28 changes: 15 additions & 13 deletions tools/perf/Makefile.config
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ endif

# Treat warnings as errors unless directed not to
ifneq ($(WERROR),0)
CFLAGS += -Werror
CORE_CFLAGS += -Werror
CXXFLAGS += -Werror
endif

Expand All @@ -198,9 +198,9 @@ endif

ifeq ($(DEBUG),0)
ifeq ($(CC_NO_CLANG), 0)
CFLAGS += -O3
CORE_CFLAGS += -O3
else
CFLAGS += -O6
CORE_CFLAGS += -O6
endif
endif

Expand Down Expand Up @@ -245,12 +245,12 @@ FEATURE_CHECK_LDFLAGS-libaio = -lrt

FEATURE_CHECK_LDFLAGS-disassembler-four-args = -lbfd -lopcodes -ldl

CFLAGS += -fno-omit-frame-pointer
CFLAGS += -ggdb3
CFLAGS += -funwind-tables
CFLAGS += -Wall
CFLAGS += -Wextra
CFLAGS += -std=gnu99
CORE_CFLAGS += -fno-omit-frame-pointer
CORE_CFLAGS += -ggdb3
CORE_CFLAGS += -funwind-tables
CORE_CFLAGS += -Wall
CORE_CFLAGS += -Wextra
CORE_CFLAGS += -std=gnu99

CXXFLAGS += -std=gnu++11 -fno-exceptions -fno-rtti
CXXFLAGS += -Wall
Expand All @@ -272,12 +272,12 @@ include $(FEATURES_DUMP)
endif

ifeq ($(feature-stackprotector-all), 1)
CFLAGS += -fstack-protector-all
CORE_CFLAGS += -fstack-protector-all
endif

ifeq ($(DEBUG),0)
ifeq ($(feature-fortify-source), 1)
CFLAGS += -D_FORTIFY_SOURCE=2
CORE_CFLAGS += -D_FORTIFY_SOURCE=2
endif
endif

Expand All @@ -301,10 +301,12 @@ INC_FLAGS += -I$(src-perf)/util
INC_FLAGS += -I$(src-perf)
INC_FLAGS += -I$(srctree)/tools/lib/

CFLAGS += $(INC_FLAGS)
CORE_CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE

CFLAGS += $(CORE_CFLAGS) $(INC_FLAGS)
CXXFLAGS += $(INC_FLAGS)

CFLAGS += -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE
LIBPERF_CFLAGS := $(CORE_CFLAGS) $(EXTRA_CFLAGS)

ifeq ($(feature-sync-compare-and-swap), 1)
CFLAGS += -DHAVE_SYNC_COMPARE_AND_SWAP_SUPPORT
Expand Down
2 changes: 1 addition & 1 deletion tools/perf/Makefile.perf
Original file line number Diff line number Diff line change
Expand Up @@ -769,7 +769,7 @@ $(LIBBPF)-clean:
$(Q)$(MAKE) -C $(BPF_DIR) O=$(OUTPUT) clean >/dev/null

$(LIBPERF): FORCE
$(Q)$(MAKE) -C $(LIBPERF_DIR) O=$(OUTPUT) $(OUTPUT)libperf.a
$(Q)$(MAKE) -C $(LIBPERF_DIR) EXTRA_CFLAGS="$(LIBPERF_CFLAGS)" O=$(OUTPUT) $(OUTPUT)libperf.a

$(LIBPERF)-clean:
$(call QUIET_CLEAN, libperf)
Expand Down
3 changes: 2 additions & 1 deletion tools/perf/lib/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
#include <stdio.h>
#include <stdarg.h>
#include <unistd.h>
#include <linux/compiler.h>
#include <perf/core.h>
#include <internal/lib.h>
#include "internal.h"

static int __base_pr(enum libperf_print_level level, const char *format,
static int __base_pr(enum libperf_print_level level __maybe_unused, const char *format,
va_list args)
{
return vfprintf(stderr, format, args);
Expand Down

0 comments on commit 5554211

Please sign in to comment.