Re: [RFC PATCH v6 25/32] perf tools: Add 'bpf.' config section to perf default config

Namhyung Kim
2015-06-11T07:57:49Z

On Tue, Jun 09, 2015 at 04:43:19PM -0700, Alexei Starovoitov wrote:
> On 6/8/15 10:50 PM, Wang Nan wrote:
> >perf_bpf_config() is added to parse 'bpf' section in perf config file.
> >Following is an example:
> >
> > [bpf]
> > clang-path = /llvm/bin/x86_64-linux-clang"
> > llc-path = /llvm/bin/x86_64-linux-llc"
> > clang-opt = "-nostdinc -isystem /llvm/lib/clang/include -I/kernel/arch/x86/include ..."
> > llc-opt = ""
>
> a section to specify -I flags to compile prog.c is useful,
> but users shouldn't be populating it manually for kernel headers.
> How about adding a script that can figure out $(LINUXINCLUDE)
> automatically ?

Maybe a dummy question. For what reason it needs such headers? Is it
possible to have a (part of?) copy of needed bits in the perf source?

Thanks,
Namhyung

> You can even invoke such flag detector from perf via something like:
> f = open /tmpdir/Makefile
> fprintf(f, "obj-y := dummy.o\n");
> fprintf(f, "$(obj)/%%.o: $(src)/%%.c\n");
> fprintf(f, "\t@echo -n \"$(NOSTDINC_FLAGS) $(LINUXINCLUDE) $(EXTRA_CFLAGS)\"
> > %s\n", cachefile);
> snprintf(cmd, "make -s -C /lib/modules/%s/build M=%s dummy.o",
> uts_release, tmpdir);
> system(cmd);
> read flags from cachefile and cache it for the future.
> ...
> or as independent script that populates .perfconfig
>