Messages in this thread | | | Date | Mon, 14 Dec 2015 11:27:36 +0800 | From | "Wangnan (F)" <> | Subject | Re: [PATCH v4 09/16] perf tools: Enable indices setting syntax for BPF maps |
| |
On 2015/12/12 2:21, Alexei Starovoitov wrote: > On Fri, Dec 11, 2015 at 08:39:35PM +0800, pi3orama wrote: >>> static u64 (*bpf_ktime_get_ns)(void) = >>> (void *)5; >>> static int (*bpf_trace_printk)(const char *fmt, int fmt_size, ...) = >>> (void *)6; >>> static int (*bpf_get_smp_processor_id)(void) = >>> (void *)8; >>> static int (*bpf_perf_event_output)(void *, struct bpf_map_def *, int, >>> void *, unsigned long) = >>> (void *)23; >>> >>> Where can I get this magical mistery table? Could this be hidden away in >>> some .h file automagically included in bpf scriptlets so that n00bies >>> like me don't have to be wtf'ing? >>> >> They are function numbers defined in bpf.h and bpf-common.h, but they are Linux >> headers. Directly include them causes many error for llvm. Also, the function >> prototypes are BPF specific and can't included in Linux source. We should have >> a place holds those indices and prototypes together. > wait, what kind of errors? > they are in uapi, so gets installed into /usr/include eventually > and I haven't seen any erros either with gcc or clang. > Sorry. I saw error because I use
#include <linux/bpf.h>
It is okay if I use
#include <uapi/linux/bpf.h>
Thank you.
| |