• Ian Rogers's avatar
    perf build: Pretend scandirat is missing with msan · 8524d71c
    Ian Rogers authored
    Memory sanitizer lacks an interceptor for scandirat, reporting all
    memory it allocates as uninitialized. Memory sanitizer has a scandir
    interceptor so use the fallback function in this case. This allows
    'perf test' to run under memory sanitizer.
    
    Additional notes from Ian on running in this mode:
    
    Note, as msan needs to instrument memory allocations libraries need to
    be compiled with it. I lacked the msan built libraries and so built
    with:
    ```
    $ make -C tools/perf O=/tmp/perf DEBUG=1 EXTRA_CFLAGS="-O0 -g
    -fno-omit-frame-pointer -fsanitize=memory
    -fsanitize-memory-track-origins" CC=clang CXX=clang++ HOSTCC=clang
    NO_LIBTRACEEVENT=1 NO_LIBELF=1 BUILD_BPF_SKEL=0 NO_LIBPFM=1
    ```
    oh, I disabled libbpf here as the bpf system call also lacks msan interceptors.
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
    Cc: Ingo Molnar <mingo@redhat.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Link: https://lore.kernel.org/r/20240320163244.1287780-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    8524d71c
Makefile.config 42.1 KB