Skip to content

llvm17/rust: random variations in binaries #72206

Closed
@bmwiedemann

Description

@bmwiedemann

While working on reproducible builds for openSUSE, I found that
various rust packages produced different binaries in every build,
even when trying to run builds as similar as possible.

versions:

  • openSUSE Tumbleweed 20231108
  • libLLVM17-17.0.4
  • rust-1.73

affected packages:

  • contrast
  • difftastic
  • rage-encryption
  • sad
  • tiny

Diffs (from filterdiff strings {1,2}/usr/bin/sad) look like this:

 _ZN12aho_corasick6packed5teddy7compile7Builder5build17h1ec13fda1b911f51E
-_ZN71_$LT$sad..argparse..Arguments$u20$as$u20$clap_builder..derive..Args$GT$12augment_args17hb63754f2b3f23d81E.llvm.7060706947469140631
 _ZN9hashbrown11rustc_entry62_$LT$impl$u20$hashbrown..map..HashMap$LT$K$C$V$C$S$C$A$GT$$GT$11rustc_entry17h3404a67c5ebadd16E
...
 _ZN4core3ptr37drop_in_place$LT$sad..types..Fail$GT$17h4a94ee46810be113E.llvm.8642040941601995225
+_ZN71_$LT$sad..argparse..Arguments$u20$as$u20$clap_builder..derive..Args$GT$12augment_args17hb63754f2b3f23d81E.llvm.5074700338430727270
 _ZN5tokio7runtime9scheduler6Handle5spawn17he9d3e7b13daae14fE
...
 anon.f8976536234e6da06679650d2fbaaa4b.3.llvm.2679463096021464399
-anon.cf22f61d4b59a658db753519f084dfc2.29.llvm.7060706947469140631
 anon.cdafd13cf3071da50e39cc55ae689763.5.llvm.15702125857252448827
@@ -40685,6 +40684,7 @@
 anon.865f8e79028a90f3ec901722c5bc9a01.1751.llvm.141406229195693483
 anon.a3ee08d29b32c89866319fa543dc03d1.3.llvm.17006684412476199951
 _ZN61_$LT$std..io..stdio..StdoutLock$u20$as$u20$std..io..Write$GT$5flush17ha20f2e5d3ef392cdE
+anon.cf22f61d4b59a658db753519f084dfc2.29.llvm.5074700338430727270
 rust_panic

so it seems there is some random number appended and that influences ordering.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions