Bug#973894: rr: Improve reproducibility
Bernhard Übelacker
bernhardu at mailbox.org
Sun Nov 8 10:12:45 GMT 2020
Hello Chris,
thanks for the pointers.
By enabling fixfilepath [1] the build it is automatically using -ffile-prefix-map.
This seems also the case for the reproducible-builds.org results already [2].
Therefore I assume the compilation of the .c* files is already good.
And the -ffile-prefix-map part is superfluous in my initial patch.
The remaining files embedding the build path have all a .S file ending.
When I tested to add dpkg-buildflags's CFLAGS to the command line for such a .S file,
the build path still ended up in the .S.o file.
Therefore the attempt to use of "-Wa,--debug-prefix-map,${CMAKE_SOURCE_DIR}=.".
This leads to the question if /usr/bin/cc is on fault and should forward
the option -ffile-prefix-map as --debug-prefix-map to /usr/bin/as?
Or does dpkg provide other flags for assembly files?
Kind regards,
Bernhard
[1]
export DEB_BUILD_OPTIONS="reproducible=+fixfilepath"
dpkg-buildpackage -uc
[2] https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/diffoscope-results/rr.html
DEB_BUILD_OPTIONS="buildinfo=+all reproducible=+all parallel=15"
[3]
$ pwd
/home/benutzer/source/rr/try3/rr-5.4.0/build
$ find -iname "*.o" | xargs -d\\n grep try3 -c | grep -v -E ":0$" | sort
./build/CMakeFiles/cpuid_32.dir/32/x86/cpuid_loop.S.o:3
./build/CMakeFiles/rraudit_32.dir/32/preload/raw_syscall.S.o:3
./build/CMakeFiles/rraudit.dir/src/preload/raw_syscall.S.o:3
./build/CMakeFiles/rrpreload_32.dir/32/preload/raw_syscall.S.o:3
./build/CMakeFiles/rrpreload_32.dir/32/preload/syscall_hook.S.o:3
./build/CMakeFiles/rrpreload.dir/src/preload/raw_syscall.S.o:3
./build/CMakeFiles/rrpreload.dir/src/preload/syscall_hook.S.o:3
More information about the Reproducible-bugs
mailing list