systemd/tools
Julia Kartseva cf4f9a57f2 bpf: add build script for bpf programs
Add a build script to compile bpf source code. A program in restricted
C is compiled into an object file. Object file is converted to BPF
skeleton [0] header file.
If build with custom meson build rule, the target header will reside in
build/ directory (not in source tree), e.g the path for socket_bind:
`build/src/core/bpf/socket_bind/socket-bind.skel.h`

Script runs the phases:
* clang to generate *.o from restricted C
* llvm-strip to remove useless DWARF info
* bpf skeleton generation with bpftool
These phases are logged to stderr for debug purposes.

To include BTF debug information, -g option is passed to clang.

[0] https://lwn.net/Articles/806911/
2021-04-26 16:07:41 -07:00
..
chromiumos hwdb: update for v248 2021-03-08 14:27:48 +01:00
add-git-hook.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
build-bpf-skel.py bpf: add build script for bpf programs 2021-04-26 16:07:41 -07:00
catalog-report.py tree-wide: drop header for emacs from python scripts 2018-12-10 03:17:33 +09:00
check-api-docs.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
check-compilation.sh tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
check-directives.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
check-help.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
check-includes.pl Drop "Copyright abandonded" header 2018-07-24 11:14:44 +02:00
choose-default-locale.sh tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
coverity.sh tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
find-build-dir.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
find-double-newline.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
find-tabs.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
gdb-sd_dump_hashmaps.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
generate-gperfs.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
get-coverity.sh tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
git-contrib.sh git-contrib: use non-breaking spaces in names 2021-03-30 13:17:59 +02:00
make-autosuspend-rules.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
make-directive-index.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
make-man-index.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00
meson-apply-m4.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
meson-build.sh tree-wide: add spdx header on all scripts and helpers 2021-01-28 09:55:35 +01:00
meson-make-symlink.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
meson-vcs-tag.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
oss-fuzz.sh oss-fuzz: show meson logs 2021-02-01 22:51:43 +09:00
update-dbus-docs.py update-dbus-docs: use color in summary 2021-02-06 11:41:42 +01:00
update-hwdb-autosuspend.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
update-hwdb.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
update-man-rules.py meson: rename target to update-man-rules 2021-01-27 09:10:25 +01:00
update-syscall-tables.sh tools: shellcheck-ify most of the tool scripts 2021-04-20 20:11:13 +02:00
xml_helper.py license: LGPL-2.1+ -> LGPL-2.1-or-later 2020-11-09 13:23:58 +09:00