diff --git a/lisa/_assets/binaries/arm64/pahole b/lisa/_assets/binaries/arm64/pahole new file mode 100755 index 0000000000000000000000000000000000000000..ba3284f316cc21e444c568959a53296e7aef2552 Binary files /dev/null and b/lisa/_assets/binaries/arm64/pahole differ diff --git a/lisa/_assets/binaries/armeabi/pahole b/lisa/_assets/binaries/armeabi/pahole new file mode 100755 index 0000000000000000000000000000000000000000..c8c86c8affb66d50e24e79e0b4978527a4f7906e Binary files /dev/null and b/lisa/_assets/binaries/armeabi/pahole differ diff --git a/lisa/_assets/binaries/x86_64/pahole b/lisa/_assets/binaries/x86_64/pahole new file mode 100755 index 0000000000000000000000000000000000000000..f8a83c79369c589232eed47c98da4a8f41194d76 Binary files /dev/null and b/lisa/_assets/binaries/x86_64/pahole differ diff --git a/tools/recipes/pahole.recipe b/tools/recipes/pahole.recipe new file mode 100644 index 0000000000000000000000000000000000000000..e1f6a5702392e0734d492365de39a2efa8bd3816 --- /dev/null +++ b/tools/recipes/pahole.recipe @@ -0,0 +1,72 @@ +#! /bin/bash + +ALPINE_VERSION=v3.14 +ALPINE_BUILD_DEPENDENCIES=(bash gcc git make cmake musl-dev zlib-static bzip2-static libelf-static libbpf-dev musl-obstack-dev argp-standalone linux-headers) +BROKEN_CROSS_COMPILATION=1 + +# The "lisa" branch can be constructed with: +# batch-rebase create . --manifest ../pahole-patches/pahole.yaml --create-branch lisa +# +# rebase-conf: +# rr-cache: ./rr-cache +# base: +# remote: perso-github +# ref: master + +# topics: +# - +# name: static_link +# remote: perso-github +# base: master +# tip: static_link +# - +# name: btf_alignment +# remote: perso-github +# base: master +# tip: btf_alignment +# - +# name: anon_struct +# remote: perso-github +# base: master +# tip: anon_struct + +# # This one will trvially conflict with anon_struct because they both +# # add a CLI option +# - +# name: skip_missing +# remote: perso-github +# base: master +# tip: skip_missing +# +# remotes: +# perso-github: +# url: https://github.com/douglas-raillard-arm/pahole.git + + +download() { + #git clone https://git.kernel.org/pub/scm/devel/pahole/pahole.git + git clone https://github.com/douglas-raillard-arm/pahole.git + git -C pahole checkout lisa +} + +build() { + cd pahole + + mkdir build + ( + cd build + cmake \ + -DSTATIC_LINK=ON \ + .. \ + && + make pahole + ) && + strip build/pahole +} + +install() { + cp -v pahole/build/pahole "$LISA_ARCH_ASSETS/pahole" + + source "$LISA_HOME/tools/recipes/utils.sh" + install_readme pahole pahole COPYING +}