On Mon, Apr 15, 2024 at 11:26:44AM +0100, Alan Maguire wrote: > On 12/04/2024 22:16, Arnaldo Carvalho de Melo wrote: > > From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > > > $ time tests/reproducible_build.sh vmlinux > > Parallel reproducible DWARF Loading/Serial BTF encoding: Ok > > > > real 1m13.844s > > user 3m3.601s > > sys 0m9.049s > > $ > > > > If the number of threads started by pahole is different than what was > > requests via its -j command line option, it will fail as well as if the > > output of 'bpftool btf dump' differs from the BTF encoded totally > > serially to one of the detached BTF encoded using reproducible DWARF > > loading/BTF encoding. > > > > Cc: Alan Maguire <alan.maguire@xxxxxxxxxx> > > Cc: Kui-Feng Lee <kuifeng@xxxxxx> > > Cc: Thomas Weißschuh <linux@xxxxxxxxxxxxxx> > > Signed-off-by: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > > --- > > tests/reproducible_build.sh | 56 +++++++++++++++++++++++++++++++++++++ > > 1 file changed, 56 insertions(+) > > create mode 100755 tests/reproducible_build.sh > > > > great to have a test for this! a few small things below but > for the series > > Reviewed-by: Alan Maguire <alan.maguire@xxxxxxxxxx> > Tested-by: Alan Maguire <alan.maguire@xxxxxxxxxx> > > > diff --git a/tests/reproducible_build.sh b/tests/reproducible_build.sh > > new file mode 100755 > > index 0000000000000000..9c72d548c2a21136 > > --- /dev/null > > +++ b/tests/reproducible_build.sh > > @@ -0,0 +1,56 @@ > > +#!/bin/bash > > +# SPDX-License-Identifier: GPL-2.0-only > > +# > > +# Test if BTF generated serially matches reproducible parallel DWARF loading + serial BTF encoding > > +# Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> (C) 2024- > > + > > +vmlinux=$1 > > nit: might be worth having a usage check/error for the vmlinux binary here. Right, I'm doing that now. Suggested-by: Alan Maguire <alan.maguire@xxxxxxxxxx> ⬢[acme@toolbox pahole]$ tests/reproducible_build.sh Please specify a vmlinux file to operate on ⬢[acme@toolbox pahole]$ tests/reproducible_build.sh vmlinux1 vmlinux1 file not available, please specify another ⬢[acme@toolbox pahole]$ tests/reproducible_build.sh vmlinux Parallel reproducible DWARF Loading/Serial BTF encoding: ^C ⬢[acme@toolbox pahole]$ diff --git a/tests/reproducible_build.sh b/tests/reproducible_build.sh index 9c72d548c2a21136..b821e28e7ce7bf8c 100755 --- a/tests/reproducible_build.sh +++ b/tests/reproducible_build.sh @@ -5,6 +5,17 @@ # Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> (C) 2024- vmlinux=$1 + +if [ -z "$vmlinux" ] ; then + echo "Please specify a vmlinux file to operate on" + exit 1 +fi + +if [ ! -f "$vmlinux" ] ; then + echo "$vmlinux file not available, please specify another" + exit 1 +fi + outdir=$(mktemp -d /tmp/reproducible_build.sh.XXXXXX) echo -n "Parallel reproducible DWARF Loading/Serial BTF encoding: "