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