Commit 1dc67c21 authored by Sylvain Beucler's avatar Sylvain Beucler

build_path: reference -fdebug-prefix-map and clarify other work-arounds

parent 430dc535
......@@ -16,11 +16,16 @@ other tools might be sufficiently easy.
In most cases however, post-processing is required to either remove the
build path or to normalize it to a predefined value.
For the specific case of [DWARF
For the specific case of [debug
symbols](https://en.wikipedia.org/wiki/DWARF), there is currently no good
tool to
change them to a pre-determined value after a build[^debugedit]. A work-around is to
[define the build path as part of the build environment]({{ "/docs/perimeter/" | prepend: site.baseurl }}).
post-processing tool to
change them to a pre-determined value[^debugedit]. A work-around is to
[define the build path as part of the build environment]({{ "/docs/perimeter/" | prepend: site.baseurl }}),
however `reprotest` changes it so this makes it harder to assess reproducibility.
Another work-around is GCC's `-fdebug-prefix-map`, though it does not
fix other sources of irreproducibility such as `__FILE__`, and in some
packages the option itself is saved into other parts of the build
output by another tool.
[^debugedit]: [debugedit](https://fedoraproject.org/wiki/Releases/FeatureBuildId) can replace the path used at build time by a predefined one but it does that by rewriting bytes in place. As this does not reorder the hash table of strings, the resulting bytes are still depending on the original build path.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment