Message ID | 20190910103830.20794-3-ivan.khoronzhuk@linaro.org |
---|---|
State | Changes Requested |
Delegated to: | BPF Maintainers |
Headers | show |
Series | samples: bpf: improve/fix cross-compilation | expand |
On 9/10/19 11:38 AM, Ivan Khoronzhuk wrote: > Don't list userspace "cookie_uid_helper_example" object in list for > bpf objects. > > per_socket_stats_example-opjs is used to list additional dependencies s/opjs/objs > for user space binary from hostprogs-y list. Kbuild system creates > rules for objects listed this way anyway and no need to worry about > this. Despite on it, the samples bpf uses logic that hostporgs-y are > build for userspace with includes needed for this, but "always" > target, if it's not in hostprog-y list, uses CLANG-bpf rule and is > intended to create bpf obj but not arch obj and uses only kernel > includes for that. So correct it, as it breaks cross-compiling at > least. The above description is a little tricky to understand. Maybe something like: 'always' target is for bpf programs. 'cookie_uid_helper_example.o' is a user space ELF file, and covered by rule `per_socket_stats_example`. Let us remove `always += cookie_uid_helper_example.o`, which avoids breaking cross compilation due to mismatched includes. > > Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> > --- > samples/bpf/Makefile | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile > index f50ca852c2a8..43dee90dffa4 100644 > --- a/samples/bpf/Makefile > +++ b/samples/bpf/Makefile > @@ -145,7 +145,6 @@ always += sampleip_kern.o > always += lwt_len_hist_kern.o > always += xdp_tx_iptunnel_kern.o > always += test_map_in_map_kern.o > -always += cookie_uid_helper_example.o > always += tcp_synrto_kern.o > always += tcp_rwnd_kern.o > always += tcp_bufs_kern.o >
On Fri, Sep 13, 2019 at 08:48:37PM +0000, Yonghong Song wrote: > > >On 9/10/19 11:38 AM, Ivan Khoronzhuk wrote: >> Don't list userspace "cookie_uid_helper_example" object in list for >> bpf objects. >> >> per_socket_stats_example-opjs is used to list additional dependencies > >s/opjs/objs > >> for user space binary from hostprogs-y list. Kbuild system creates >> rules for objects listed this way anyway and no need to worry about >> this. Despite on it, the samples bpf uses logic that hostporgs-y are >> build for userspace with includes needed for this, but "always" >> target, if it's not in hostprog-y list, uses CLANG-bpf rule and is >> intended to create bpf obj but not arch obj and uses only kernel >> includes for that. So correct it, as it breaks cross-compiling at >> least. > >The above description is a little tricky to understand. >Maybe something like: > 'always' target is for bpf programs. > 'cookie_uid_helper_example.o' is a user space ELF file, and > covered by rule `per_socket_stats_example`. > Let us remove `always += cookie_uid_helper_example.o`, > which avoids breaking cross compilation due to > mismatched includes. Yes, looks better, thanks.
diff --git a/samples/bpf/Makefile b/samples/bpf/Makefile index f50ca852c2a8..43dee90dffa4 100644 --- a/samples/bpf/Makefile +++ b/samples/bpf/Makefile @@ -145,7 +145,6 @@ always += sampleip_kern.o always += lwt_len_hist_kern.o always += xdp_tx_iptunnel_kern.o always += test_map_in_map_kern.o -always += cookie_uid_helper_example.o always += tcp_synrto_kern.o always += tcp_rwnd_kern.o always += tcp_bufs_kern.o
Don't list userspace "cookie_uid_helper_example" object in list for bpf objects. per_socket_stats_example-opjs is used to list additional dependencies for user space binary from hostprogs-y list. Kbuild system creates rules for objects listed this way anyway and no need to worry about this. Despite on it, the samples bpf uses logic that hostporgs-y are build for userspace with includes needed for this, but "always" target, if it's not in hostprog-y list, uses CLANG-bpf rule and is intended to create bpf obj but not arch obj and uses only kernel includes for that. So correct it, as it breaks cross-compiling at least. Signed-off-by: Ivan Khoronzhuk <ivan.khoronzhuk@linaro.org> --- samples/bpf/Makefile | 1 - 1 file changed, 1 deletion(-)