FROM debian:11-slim ARG pahole_branch=master ENV PAHOLE_BRANCH=$pahole_branch ARG pahole_origin=https://git.kernel.org/pub/scm/devel/pahole/pahole.git ENV PAHOLE_ORIGIN=$pahole_origin ARG llvm_version=17 ENV LLVM_VERSION=$llvm_version ENV CLANG=clang-$llvm_version ENV LLVM_STRIP=llvm-strip-$llvm_version RUN DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y \ bc \ binutils-dev \ bison \ build-essential \ cmake \ elfutils \ flex \ git \ libdw-dev \ libelf-dev \ libguestfs-tools \ libssl-dev \ make \ ncurses-dev \ pahole \ python3-docutils \ qemu-kvm \ qemu-utils \ quilt \ gpg \ rsync \ software-properties-common \ sudo \ wget \ xz-utils \ zstd RUN wget https://apt.llvm.org/llvm.sh \ && chmod +x llvm.sh \ && ./llvm.sh "$LLVM_VERSION" RUN mkdir -p pahole \ && cd pahole \ && git init \ && git remote add origin ${PAHOLE_ORIGIN} \ && git fetch --depth=1 origin "${PAHOLE_BRANCH}" \ && git checkout "${PAHOLE_BRANCH}" \ && mkdir -p build \ && cd build \ && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -D__LIB=lib .. \ && make -j$((4*$(nproc))) \ && make install \ && export LD_LIBRARY_PATH=${LD_LIBRARY_PATH:-}:/usr/local/lib \ && ldd $(which pahole) \ && pahole --version ENV LD_LIBRARY_PATH=/usr/local/lib RUN useradd -m user USER user WORKDIR /home/user