• Arnaldo Carvalho de Melo's avatar
    perf python: Fix clang detection to strip out options passed in $CC · 9ff76cea
    Arnaldo Carvalho de Melo authored
    The clang check in the python setup.py file expected $CC to be just the
    name of the compiler, not the compiler + options, i.e. all options were
    expected to be passed in $CFLAGS, this ends up making it fail in systems
    where CC is set to, e.g.:
    
     "aarch64-linaro-linux-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot"
    
    Like this:
    
      $ python3
      >>> from subprocess import Popen
      >>> a = Popen(["aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot", "-v"])
      Traceback (most recent call last):
        File "<stdin>", line 1, in <module>
        File "/usr/lib/python3.6/subprocess.py", line 729, in __init__
          restore_signals, start_new_session)
        File "/usr/lib/python3.6/subprocess.py", line 1364, in _execute_child
          raise child_exception_type(errno_num, err_msg, err_filename)
      FileNotFoundError: [Errno 2] No such file or directory: 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot': 'aarch64-linux-gnu-gcc --sysroot=/oe/build/tmp/work/juno-linaro-linux/perf/1.0-r9/recipe-sysroot'
      >>>
    
    Make it more robust, covering this case, by passing cc.split()[0] as the
    first arg to popen().
    
    Fixes: a7ffd416 ("perf python: Fix clang detection when using CC=clang-version")
    Reported-by: default avatarDaniel Díaz <daniel.diaz@linaro.org>
    Reported-by: default avatarNaresh Kamboju <naresh.kamboju@linaro.org>
    Tested-by: default avatarDaniel Díaz <daniel.diaz@linaro.org>
    Cc: Adrian Hunter <adrian.hunter@intel.com>
    Cc: Ilie Halip <ilie.halip@gmail.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Link: http://lore.kernel.org/lkml/20200401124037.GA12534@kernel.orgSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    9ff76cea
setup.py 2.9 KB