Re: [PATCH pahole 2/3] pahole: add libbpf as submodule under lib/bpf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Feb 6, 2019 at 1:15 PM Arnaldo Carvalho de Melo
<arnaldo.melo@xxxxxxxxx> wrote:
>
> Em Tue, Feb 05, 2019 at 11:24:46PM -0800, Andrii Nakryiko escreveu:
> > This change allows to use libbpf definitions and APIs from pahole.
> >
> > Signed-off-by: Andrii Nakryiko <andriin@xxxxxx>
> > ---
> >  .gitmodules    |  3 +++
> >  CMakeLists.txt | 32 ++++++++++++++++++++++++++++++--
> >  lib/bpf        |  1 +
> >  3 files changed, 34 insertions(+), 2 deletions(-)
> >  create mode 100644 .gitmodules
> >  create mode 160000 lib/bpf
> >
> > diff --git a/.gitmodules b/.gitmodules
> > new file mode 100644
> > index 0000000..6be99dc
> > --- /dev/null
> > +++ b/.gitmodules
> > @@ -0,0 +1,3 @@
> > +[submodule "lib/bpf"]
> > +     path = lib/bpf
> > +     url = https://github.com/libbpf/libbpf
>
> Nifty, seems to work but then there is a warning about bzero() not being
> declared:
>
> [acme@quaco pahole]$ am /wb/1.patch
> Applying: pahole: add libbpf as submodule under lib/bpf
> [master bb826736dc6b] pahole: Add libbpf as submodule under lib/bpf
>  Author: Andrii Nakryiko <andriin@xxxxxx>
>  Date: Tue Feb 5 23:24:46 2019 -0800
>  3 files changed, 34 insertions(+), 2 deletions(-)
>  create mode 100644 .gitmodules
>  create mode 160000 lib/bpf
> [acme@quaco pahole]$ make -C build
> make: Entering directory '/home/acme/git/pahole/build'
> -- Checking availability of DWARF and ELF development libraries
> -- Checking availability of DWARF and ELF development libraries - done
> -- Submodule update
> Submodule 'lib/bpf' (https://github.com/libbpf/libbpf) registered for path 'lib/bpf'
> Cloning into '/home/acme/git/pahole/lib/bpf'...
> Submodule path 'lib/bpf': checked out 'b19c6dcf623a7adc9e538ddbe2964c2f58dd2417'
> -- Submodule update - done
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /home/acme/git/pahole/build
> make[1]: Entering directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target bpf
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [  2%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/bpf.o
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_load_program_xattr’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:225:2: warning: implicit declaration of function ‘bzero’ [-Wimplicit-function-declaration]
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c:225:2: warning: incompatible implicit declaration of built-in function ‘bzero’
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_verify_program’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:330:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_update_elem’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:350:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_lookup_elem’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:363:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_lookup_elem_flags’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:375:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_lookup_and_delete_elem’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:388:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_delete_elem’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:400:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_get_next_key’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:411:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_obj_pin’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:423:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_obj_get’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:434:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_attach’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:445:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_detach’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:458:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_detach2’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:469:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_query’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:483:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_test_run’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:504:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_test_run_xattr’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:529:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_get_next_id’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:549:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_get_next_id’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:564:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_prog_get_fd_by_id’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:578:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_map_get_fd_by_id’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:588:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_btf_get_fd_by_id’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:598:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_obj_get_info_by_fd’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:609:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/bpf.c: In function ‘bpf_raw_tracepoint_open’:
> /home/acme/git/pahole/lib/bpf/src/bpf.c:625:2: warning: incompatible implicit declaration of built-in function ‘bzero’
>   bzero(&attr, sizeof(attr));
>   ^~~~~
> [  4%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/bpf_prog_linfo.o
> [  6%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/btf.o
> /home/acme/git/pahole/lib/bpf/src/btf.c: In function ‘btf__get_from_id’:
> /home/acme/git/pahole/lib/bpf/src/btf.c:471:2: warning: implicit declaration of function ‘bzero’ [-Wimplicit-function-declaration]
>   bzero(ptr, last_size);
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/btf.c:471:2: warning: incompatible implicit declaration of built-in function ‘bzero’
> [  8%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf.o
> /home/acme/git/pahole/lib/bpf/src/libbpf.c: In function ‘bpf_program__init’:
> /home/acme/git/pahole/lib/bpf/src/libbpf.c:310:2: warning: implicit declaration of function ‘bzero’ [-Wimplicit-function-declaration]
>   bzero(prog, sizeof(*prog));
>   ^~~~~
> /home/acme/git/pahole/lib/bpf/src/libbpf.c:310:2: warning: incompatible implicit declaration of built-in function ‘bzero’
> /home/acme/git/pahole/lib/bpf/src/libbpf.c: In function ‘bpf_program__load’:
> /home/acme/git/pahole/lib/bpf/src/libbpf.c:1579:3: warning: incompatible implicit declaration of built-in function ‘bzero’
>    bzero(&result, sizeof(result));
>    ^~~~~

Strange, the only warning I've got were these:

[  6%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf.o
/home/andriin/local/pahole/lib/bpf/src/libbpf.c: In function
‘bpf_object__add_program’:
/home/andriin/local/pahole/lib/bpf/src/libbpf.c:362:8: warning:
assignment makes pointer from integer without a cast [enabled by
default]
  progs = reallocarray(progs, nr_progs + 1, sizeof(progs[0]));
        ^
/home/andriin/local/pahole/lib/bpf/src/libbpf.c: In function
‘bpf_object__elf_collect’:
/home/andriin/local/pahole/lib/bpf/src/libbpf.c:881:10: warning:
assignment makes pointer from integer without a cast [enabled by
default]
    reloc = reallocarray(reloc, nr_reloc,
          ^
/home/andriin/local/pahole/lib/bpf/src/libbpf.c: In function
‘bpf_program__reloc_text’:
/home/andriin/local/pahole/lib/bpf/src/libbpf.c:1333:12: warning:
assignment makes pointer from integer without a cast [enabled by
default]
   new_insn = reallocarray(prog->insns, new_cnt, sizeof(*insn));
            ^
Which seemed benign. I'll try to figure out what's going on with bzero
and will get back. Thanks for taking a look!

> [ 10%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf_errno.o
> [ 12%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/libbpf_probes.o
> [ 14%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/netlink.o
> [ 16%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/nlattr.o
> [ 18%] Building C object CMakeFiles/bpf.dir/lib/bpf/src/str_error.o
> [ 20%] Linking C static library libbpf.a
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 20%] Built target bpf
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target dwarves
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 22%] Linking C shared library libdwarves.so
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 50%] Built target dwarves
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target codiff
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 52%] Linking C executable codiff
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 54%] Built target codiff
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target dwarves_reorganize
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 56%] Linking C shared library libdwarves_reorganize.so
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 58%] Built target dwarves_reorganize
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target dwarves_emit
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 60%] Linking C shared library libdwarves_emit.so
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 62%] Built target dwarves_emit
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target ctracer
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 64%] Linking C executable ctracer
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 66%] Built target ctracer
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target pglobal
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 68%] Linking C executable pglobal
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 70%] Built target pglobal
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target dtagnames
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 72%] Linking C executable dtagnames
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 74%] Built target dtagnames
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target pfunct
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 76%] Linking C executable pfunct
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 78%] Built target pfunct
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target prefcnt
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 80%] Linking C executable prefcnt
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 82%] Built target prefcnt
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target scncopy
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 84%] Linking C executable scncopy
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 88%] Built target scncopy
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target syscse
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 90%] Linking C executable syscse
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 92%] Built target syscse
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target pahole
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 94%] Linking C executable pahole
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [ 96%] Built target pahole
> make[2]: Entering directory '/home/acme/git/pahole/build'
> Scanning dependencies of target pdwtags
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> make[2]: Entering directory '/home/acme/git/pahole/build'
> [ 98%] Linking C executable pdwtags
> make[2]: Leaving directory '/home/acme/git/pahole/build'
> [100%] Built target pdwtags
> make[1]: Leaving directory '/home/acme/git/pahole/build'
> make: Leaving directory '/home/acme/git/pahole/build'
> [acme@quaco pahole]$
>




[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux