Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933307AbbFIVsv (ORCPT ); Tue, 9 Jun 2015 17:48:51 -0400 Received: from mail-pa0-f41.google.com ([209.85.220.41]:34325 "EHLO mail-pa0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932420AbbFIVsp (ORCPT ); Tue, 9 Jun 2015 17:48:45 -0400 Message-ID: <55775F3A.9080204@plumgrid.com> Date: Tue, 09 Jun 2015 14:48:42 -0700 From: Alexei Starovoitov User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 MIME-Version: 1.0 To: Wang Nan , acme@kernel.org, brendan.d.gregg@gmail.com, daniel@iogearbox.net, namhyung@kernel.org, masami.hiramatsu.pt@hitachi.com, paulus@samba.org, a.p.zijlstra@chello.nl, mingo@redhat.com, jolsa@kernel.org, dsahern@gmail.com CC: linux-kernel@vger.kernel.org, lizefan@huawei.com, hekuang@huawei.com, xiakaixu@huawei.com, pi3orama@163.com Subject: Re: [RFC PATCH v6 24/32] perf record: Compile scriptlets if pass '.c' to --event References: <1433829036-23687-1-git-send-email-wangnan0@huawei.com> <1433829036-23687-25-git-send-email-wangnan0@huawei.com> In-Reply-To: <1433829036-23687-25-git-send-email-wangnan0@huawei.com> Content-Type: text/plain; charset=windows-1252; format=flowed Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1576 Lines: 45 On 6/8/15 10:50 PM, Wang Nan wrote: > +struct bpf_param bpf_param = { > + .clang_path = "clang", > + .llc_path = "llc", > + .clang_opt = "", > + .llc_opt = "", > +}; the defaults are ok-ish, but llc is never in PATH. So most likely it won't work out of the box. I think the cleanest option is too wait a little bit until we finish clang integration. (hopefully few more days) we've quite been busy on llvm side and I'm excited to announce that BPF backend finally graduated from experimental. So now anyone can just pull the latest llvm and bpf will be present by default. No more cmake -DLLVM_EXPERIMENTAL... Once clang integration is complete. One can pull upsteam llvm and clang and just use 'clang -O2 -c -march=bpf file.c' > + err = WEXITSTATUS(pclose(file)); > + if (err || read_sz <= 0) { > + err = -EINVAL; > + pr_err("Error:\tsomething went wrong when compiling %s\n", > + filename); > + pr_err("Hint:\tTry manually run following command and check:\n"); > + pr_err(" # " CMD_FMT "\n\n", > + clang_path, bpf_param.clang_opt, filename, > + llc_path, bpf_param.llc_opt, "/dev/null"); not terribly informative hint. I think would be good to point to some readme or at least mention that only the latest clang/llvm support bpf. Either svn/git trunk or upcoming 3.7 May be a link to llvm.org? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/