• Wang Nan's avatar
    perf tools: Call clang to compile C source to object code · 4cea3a9c
    Wang Nan authored
    This is the core patch for supporting eBPF on-the-fly compiling, does
    the following work:
    
     1. Search clang compiler using search_program().
    
     2. Run command template defined in llvm-bpf-cmd-template option in
        [llvm] config section using read_from_pipe(). Patch of clang and
        source code path is injected into shell command using environment
        variable using force_set_env().
    
      Commiter notice:
    
      When building with DEBUG=1 we get a compiler error that gets fixed with
      the same approach described in commit b2365122:
    
        perf kmem: Fix compiler warning about may be accessing uninitialized variable
    
        The last argument to strtok_r doesn't need to be initialized, its
        just a placeholder to make this routine reentrant, but gcc doesn't know
        about that and complains, breaking the build, fix it by setting it to
        NULL.
    Signed-off-by: default avatarWang Nan <wangnan0@huawei.com>
    Acked-by: default avatarAlexei Starovoitov <ast@plumgrid.com>
    Cc: Brendan Gregg <brendan.d.gregg@gmail.com>
    Cc: Daniel Borkmann <daniel@iogearbox.net>
    Cc: David Ahern <dsahern@gmail.com>
    Cc: He Kuang <hekuang@huawei.com>
    Cc: Jiri Olsa <jolsa@kernel.org>
    Cc: Kaixu Xia <xiakaixu@huawei.com>
    Cc: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Cc: Namhyung Kim <namhyung@kernel.org>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Zefan Li <lizefan@huawei.com>
    Cc: pi3orama@163.com
    Link: http://lkml.kernel.org/n/1436445342-1402-14-git-send-email-wangnan0@huawei.comSigned-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
    4cea3a9c
llvm-utils.c 6.2 KB