Non-reproducible binaries generated by GenFw
Ross Burton <ross@...>
Hi,
As per https://bugzilla.tianocore.org/show_bug.cgi?id=3256, GenFw writes non-reproducible binaries by embedding a build path. In fact in a build of ovmf with embedded shell, this one path is the sole source of non-determinism. WriteDebug64() is always called in GenFw on output and that embeds into the NB10 entry the input filename. As build paths change this is a source of non-determinism. There already exists a --zero option to wipe out debug paths but this is in release builds so I'm not sure what the best solution is. I can see several options: 1) Release builds should not call WriteDebug64() at all 2) --zero should wipe the NB10 entry, and release builds should pass that 3) GenFw should support path remapping (like gcc's -ffile-prefix-map) to turn build paths into something consistent. Any suggestions? Cheers, Ross
|
|