Messages in this thread | | | Date | Tue, 9 Jun 2015 21:32:15 +0800 | From | "Wangnan (F)" <> | Subject | Re: [RFC PATCH v6 32/32] perf record: Add LLVM options for compiling BPF scripts |
| |
On 2015/6/9 13:50, Wang Nan wrote: > Although previous patch allows setting BPF compiler related options in > perfconfig, on some ad-hoc situation it still requires passing options > through cmdline. This patch introduces 4 options to 'perf record' for > this propose: --clang-path, --clang-opt, --llc-path and --llc-opt. > > Signed-off-by: Wang Nan <wangnan0@huawei.com> > --- > tools/perf/builtin-record.c | 8 ++++++++ > 1 file changed, 8 insertions(+) > > diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c > index 235c3d9..ad5892e 100644 > --- a/tools/perf/builtin-record.c > +++ b/tools/perf/builtin-record.c > @@ -1070,6 +1070,14 @@ struct option __record_options[] = { > parse_clockid), > OPT_STRING_OPTARG('S', "snapshot", &record.opts.auxtrace_snapshot_opts, > "opts", "AUX area tracing Snapshot Mode", ""), > + OPT_STRING(0, "clang-path", &bpf_param.clang_path, "clang patch", > + "clang binary to use for compiling BPF scriptlets"), > + OPT_STRING(0, "clang-opt", &bpf_param.clang_opt, "clang options", > + "options passed to clang when compiling BPF scriptlets"), > + OPT_STRING(0, "llc-path", &bpf_param.llc_path, "llc path", > + "llc binary to use for compiling BPF scriptlets"), > + OPT_STRING(0, "llc-opt", &bpf_param.llc_opt, "llc opt", > + "options passed to llc when compiling BPF scriptlets"), > OPT_END() > }; > These 4 options should be wrapped inside "#ifdef HAVE_LIBBPF_SUPPORT" because it requires bpf_param which won't be compiled if HAVE_LIBBPF_SUPPORT is set.
Another choice should be introducing something like tools/perf/utils/llvm.c and putting all llvm related things into it. If other part of perf also use llvm, making a new file to hold those options should be a better way.
| |