perf tools: Fix test build error when bindir contains double slash
When building with a prefix ending with a slash, for example: $ make prefix=/usr/local/ one of the perf tests fail to compile due to BUILD_STR macro mishandling bindir_SQ string containing with two slashes: -DBINDIR="BUILD_STR(/usr/local//bin)" with the following error: CC tests/attr.o tests/attr.c: In function ‘test__attr’: tests/attr.c:168:50: error: expected ‘)’ before ‘;’ token snprintf(path_perf, PATH_MAX, "%s/perf", BINDIR); ^ tests/attr.c:176:1: error: expected ‘;’ before ‘}’ token } ^ tests/attr.c:176:1: error: control reaches end of non-void function [-Werror=return-type] } ^ cc1: all warnings being treated as errors This patch works around the problem by "cleaning" the bindir string using make's abspath function. Signed-off-by: Pawel Moll <pawel.moll@arm.com> Acked-by: Jiri Olsa <jolsa@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1438092613-21014-1-git-send-email-pawel.moll@arm.com Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
Родитель
5497628576
Коммит
0927beeca5
|
@ -638,7 +638,7 @@ ifndef DESTDIR
|
||||||
prefix ?= $(HOME)
|
prefix ?= $(HOME)
|
||||||
endif
|
endif
|
||||||
bindir_relative = bin
|
bindir_relative = bin
|
||||||
bindir = $(prefix)/$(bindir_relative)
|
bindir = $(abspath $(prefix)/$(bindir_relative))
|
||||||
mandir = share/man
|
mandir = share/man
|
||||||
infodir = share/info
|
infodir = share/info
|
||||||
perfexecdir = libexec/perf-core
|
perfexecdir = libexec/perf-core
|
||||||
|
|
Загрузка…
Ссылка в новой задаче