• Ian Rogers's avatar
    perf build: Don't compile demangle-cxx.cpp if not necessary · 65cd8e55
    Ian Rogers authored
    demangle-cxx.cpp requires a C++ compiler, but feature checks may fail
    because of the absence of this. Add a CONFIG_CXX_DEMANGLE so that the
    source isn't built if not supported. Copy libbfd and cplus demangle
    variants to a weak symbol-elf.c version so they aren't dependent on
    C++. These variants are only built with the build option
    BUILD_NONDISTRO=1.
    
    Committer note:
    
    This also handles this build break when a C++ compiler isn't available:
    
      CXX     /tmp/build/perf/util/demangle-cxx.o
      /bin/sh: g++: command not found
    Signed-off-by: default avatarIan Rogers <irogers@google.com>
    Tested-by: default avatarArnaldo Carvalho de Melo <acme@redhat.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: Leo Yan <leo.yan@linaro.org>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qi Liu <liuqi115@huawei.com>
    Cc: Ravi Bangoria <ravi.bangoria@amd.com>
    Link: https://lore.kernel.org/r/20230417192546.99923-1-irogers@google.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    65cd8e55
symbol-elf.c 65.8 KB