On Tue, Jun 09, 2015 at 04:43:19PM -0700, Alexei Starovoitov wrote:
On 6/8/15 10:50 PM, Wang Nan wrote:Maybe a dummy question. For what reason it needs such headers? Is it
perf_bpf_config() is added to parse 'bpf' section in perf config file.a section to specify -I flags to compile prog.c is useful,
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 = ""
but users shouldn't be populating it manually for kernel headers.
How about adding a script that can figure out $(LINUXINCLUDE)
automatically ?
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