The reproducibility of picolibc appears to have changed due to the
update of gcc-xtensa-lx106 from 11 to 12. Downloading version 11 from
snapshot.debian.org and building picolibc with gcc-xtensa-lx106 11
builds reproducibly for me.
picolibc /usr/lib/xtensa-lx106-elf/lib/crt0-hosted.o embeds the
build path:
/tmp/reprotest.mpqGso/const_build_path/debian/build/xtensa-lx106-elf
vs.
/tmp/reprotest.mpqGso/build-experiment-1/debian/build/xtensa-lx106-elf
And randomized temporary filenames:
/tmp/cc54YRFF.s
vs.
/tmp/cc8NLW2i.s
Other architecture targets that picolibc builds appear to be unaffected,
though at least gcc-riscv64* is currently gcc 11 based, but the arm
variants have been upgraded gcc 12.
I will see if I can come up with a simpler and faster reproducer for
this issue, as building picolibc takes some time (though disabling tests
and other architecture targets helps a lot).
I have not looked for other packages that use gcc-xtensa-lx106, but it
would be interesting to note changes in reproducibility for other
packages as well.
Thanks for maintaining gcc-xtensa-lx106!
live well,
vagrant