Open
Description
PR 141769 looks like it introduced non-determinism in the generation of dylibs -- it is looking like the tmpdir
is being introduced into the linker map file -- perhaps when creating the .rustc
section here:
We are seeing it in determinism-validation builds in Fuchsia.
Note: the original description claimed that the .so
files had also changed, hence some of the discussion below.
Although the .so
files are identical, we are seeing .so.map
files differing, with distinct tmp paths, e.g.:
f91ef f91ef 431 1 .../rust/linux-x64/lib/rustlib/x86_64-unknown-fuchsia/lib/libcompiler_builtins-84c11efc675a4b65.rlib(compiler_builtins-84c11efc675a4b65.compiler_builtins.ac0a882909fb5ff0-cgu.018.rcgu.o):(.debug_line)
f9620 f9620 30d 1 obj/zircon/system/ulib/sync/libsync.a(libsync.mutex.c.o):(.debug_line)
0 0 1cf28a 1 .rustc
- 0 0 1cf28a 1 /tmp/rustcli35e4/rmeta.o:(.rustc)
+ 0 0 1cf28a 1 /tmp/rustcvBrdn3/rmeta.o:(.rustc)
0 0 1cf28a 1 rust_metadata_vfs_3772e3b421ca7a16
0 0 187 1 .debug_loclists
0 0 22b 1 obj/zircon/system/ulib/sync/libsync.a
Suggested label: A-reproducibility