* [PATCH v4] perf tools: Check libasan and libubsan in Makefile.config
@ 2020-06-18 2:06 Tiezhu Yang
2020-06-18 12:57 ` Jiri Olsa
0 siblings, 1 reply; 3+ messages in thread
From: Tiezhu Yang @ 2020-06-18 2:06 UTC (permalink / raw)
To: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
Mark Rutland, Alexander Shishkin, Jiri Olsa, Namhyung Kim
Cc: linux-kernel, Xuefeng Li, Tiezhu Yang
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
v4:
- Check libasan and libubsan in tools/perf/Makefile.config
- Modify the patch subject
tools/perf/Makefile.config | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
index 877ca6b..5136338 100644
--- a/tools/perf/Makefile.config
+++ b/tools/perf/Makefile.config
@@ -396,6 +396,18 @@ else
NO_LIBBPF := 1
NO_JVMTI := 1
else
+ 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
+
ifneq ($(filter s% -static%,$(LDFLAGS),),)
msg := $(error No static glibc found, please install glibc-static);
else
--
2.1.0
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH v4] perf tools: Check libasan and libubsan in Makefile.config
2020-06-18 2:06 [PATCH v4] perf tools: Check libasan and libubsan in Makefile.config Tiezhu Yang
@ 2020-06-18 12:57 ` Jiri Olsa
2020-06-18 13:29 ` Arnaldo Carvalho de Melo
0 siblings, 1 reply; 3+ messages in thread
From: Jiri Olsa @ 2020-06-18 12:57 UTC (permalink / raw)
To: Tiezhu Yang
Cc: Arnaldo Carvalho de Melo, Peter Zijlstra, Ingo Molnar,
Mark Rutland, Alexander Shishkin, Namhyung Kim, linux-kernel,
Xuefeng Li
On Thu, Jun 18, 2020 at 10:06: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
>
> v4:
> - Check libasan and libubsan in tools/perf/Makefile.config
> - Modify the patch subject
Acked-by: Jiri Olsa <jolsa@redhat.com>
thanks,
jirka
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v4] perf tools: Check libasan and libubsan in Makefile.config
2020-06-18 12:57 ` Jiri Olsa
@ 2020-06-18 13:29 ` Arnaldo Carvalho de Melo
0 siblings, 0 replies; 3+ messages in thread
From: Arnaldo Carvalho de Melo @ 2020-06-18 13:29 UTC (permalink / raw)
To: Jiri Olsa
Cc: Tiezhu Yang, Peter Zijlstra, Ingo Molnar, Mark Rutland,
Alexander Shishkin, Namhyung Kim, linux-kernel, Xuefeng Li
Em Thu, Jun 18, 2020 at 02:57:46PM +0200, Jiri Olsa escreveu:
> On Thu, Jun 18, 2020 at 10:06: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'
<SNIP>
> > 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
> Acked-by: Jiri Olsa <jolsa@redhat.com>
Applied after changing the subject to:
[PATCH] perf build: Fix error message when asking for -fsanitize=address without required libraries
Will test now.
- Arnaldo
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-06-18 13:30 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-06-18 2:06 [PATCH v4] perf tools: Check libasan and libubsan in Makefile.config Tiezhu Yang
2020-06-18 12:57 ` Jiri Olsa
2020-06-18 13:29 ` Arnaldo Carvalho de Melo
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.