From: Jiri Olsa <jolsa@redhat.com>
To: Tiezhu Yang <yangtiezhu@loongson.cn>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@redhat.com>,
Mark Rutland <mark.rutland@arm.com>,
Alexander Shishkin <alexander.shishkin@linux.intel.com>,
Namhyung Kim <namhyung@kernel.org>,
linux-kernel@vger.kernel.org, Xuefeng Li <lixuefeng@loongson.cn>
Subject: Re: [PATCH v3] tools build: Check libasan and libubsan in Makefile.feature
Date: Wed, 17 Jun 2020 12:27:29 +0200 [thread overview]
Message-ID: <20200617102729.GC2210496@krava> (raw)
In-Reply-To: <1592360821-2323-1-git-send-email-yangtiezhu@loongson.cn>
On Wed, Jun 17, 2020 at 10:27:01AM +0800, Tiezhu Yang wrote:
> When build perf with ASan or UBSan, if libasan or libubsan can not find,
> the feature-glibc is 0 and there exists the following error log which is
> wrong, because we can find gnu/libc-version.h in /usr/include, glibc-devel
> is also installed.
>
> [yangtiezhu@linux perf]$ make DEBUG=1 EXTRA_CFLAGS='-fno-omit-frame-pointer -fsanitize=address'
> BUILD: Doing 'make -j4' parallel build
> HOSTCC fixdep.o
> HOSTLD fixdep-in.o
> LINK fixdep
> <stdin>:1:0: warning: -fsanitize=address and -fsanitize=kernel-address are not supported for this target
> <stdin>:1:0: warning: -fsanitize=address not supported for this target
>
> Auto-detecting system features:
> ... dwarf: [ OFF ]
> ... dwarf_getlocations: [ OFF ]
> ... glibc: [ OFF ]
> ... gtk2: [ OFF ]
> ... libaudit: [ OFF ]
> ... libbfd: [ OFF ]
> ... libcap: [ OFF ]
> ... libelf: [ OFF ]
> ... libnuma: [ OFF ]
> ... numa_num_possible_cpus: [ OFF ]
> ... libperl: [ OFF ]
> ... libpython: [ OFF ]
> ... libcrypto: [ OFF ]
> ... libunwind: [ OFF ]
> ... libdw-dwarf-unwind: [ OFF ]
> ... zlib: [ OFF ]
> ... lzma: [ OFF ]
> ... get_cpuid: [ OFF ]
> ... bpf: [ OFF ]
> ... libaio: [ OFF ]
> ... libzstd: [ OFF ]
> ... disassembler-four-args: [ OFF ]
>
> Makefile.config:393: *** No gnu/libc-version.h found, please install glibc-dev[el]. Stop.
> Makefile.perf:224: recipe for target 'sub-make' failed
> make[1]: *** [sub-make] Error 2
> Makefile:69: recipe for target 'all' failed
> make: *** [all] Error 2
> [yangtiezhu@linux perf]$ ls /usr/include/gnu/libc-version.h
> /usr/include/gnu/libc-version.h
>
> After install libasan and libubsan, the feature-glibc is 1 and the build
> process is success, so the cause is related with libasan or libubsan, we
> should check them and print an error log to reflect the reality.
>
> Signed-off-by: Tiezhu Yang <yangtiezhu@loongson.cn>
> ---
>
> v2:
> - Check libasan and libubsan in tools/build/Makefile.feature
> - Modify the patch subject
>
> v3:
> - Check EXTRA_CFLAGS first
>
> tools/build/Makefile.feature | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/tools/build/Makefile.feature b/tools/build/Makefile.feature
> index cb15237..bc28dc9 100644
> --- a/tools/build/Makefile.feature
> +++ b/tools/build/Makefile.feature
> @@ -250,3 +250,15 @@ ifeq ($(feature_verbose),1)
> $(foreach feat,$(TMP),$(call feature_print_status,$(feat),))
> $(info )
> endif
> +
> +ifneq ($(filter s% -fsanitize=address%,$(EXTRA_CFLAGS),),)
> + ifneq ($(shell ldconfig -p | grep libasan >/dev/null 2>&1; echo $$?), 0)
> + msg := $(error No libasan found, please install libasan);
> + endif
> +endif
> +
> +ifneq ($(filter s% -fsanitize=undefined%,$(EXTRA_CFLAGS),),)
> + ifneq ($(shell ldconfig -p | grep libubsan >/dev/null 2>&1; echo $$?), 0)
> + msg := $(error No libubsan found, please install libubsan);
> + endif
> +endif
sry, I made uninformed guess when I replied to your first patch,
I checked on libasan/libubsan and they don't have devel headers
so I think the check above should be in Makefile.config together
with the EXTRA_CFLAGS check for -fsanitize options as you have above
thanks,
jirka
prev parent reply other threads:[~2020-06-17 10:27 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-17 2:27 [PATCH v3] tools build: Check libasan and libubsan in Makefile.feature Tiezhu Yang
2020-06-17 10:27 ` Jiri Olsa [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200617102729.GC2210496@krava \
--to=jolsa@redhat.com \
--cc=acme@kernel.org \
--cc=alexander.shishkin@linux.intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lixuefeng@loongson.cn \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=yangtiezhu@loongson.cn \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.