Bug#796336: ocamlopt -pack produces non-reproducible output
Package: ocaml
Version: 4.01.0-5
Severity: normal
User: reproducible-builds@lists.alioth.debian.org
Usertags: toolchain randomness
Dear Maintainer,
$ touch a.ml b.ml
$ ocamlopt -for-pack Toto -c a.ml
$ ocamlopt -for-pack Toto -c b.ml
$ mkdir b1 b2
$ ocamlopt -pack -o toto.cmx a.cmx b.cmx
$ mv toto.* b1
$ ocamlopt -pack -o toto.cmx a.cmx b.cmx
$ mv toto.* b2
$ diffoscope b1/toto.o b2/toto.o
--- b1/toto.o
+++ b2/toto.o
├── readelf -all {}
│ @@ -75,15 +75,15 @@
│ 0: 0000000000000000 0 NOTYPE LOCAL DEFAULT UND
│ 1: 0000000000000000 0 SECTION LOCAL DEFAULT 1
│ 2: 0000000000000000 0 SECTION LOCAL DEFAULT 3
│ 3: 0000000000000000 0 SECTION LOCAL DEFAULT 4
│ 4: 0000000000000000 0 SECTION LOCAL DEFAULT 6
│ 5: 0000000000000000 0 SECTION LOCAL DEFAULT 7
│ 6: 0000000000000000 0 SECTION LOCAL DEFAULT 8
│ - 7: 0000000000000000 0 FILE LOCAL DEFAULT ABS /tmp/camlToto__d07554.o
│ + 7: 0000000000000000 0 FILE LOCAL DEFAULT ABS /tmp/camlToto__a87a20.o
│ 8: 0000000000000000 0 NOTYPE LOCAL DEFAULT 3 caml_negf_mask
│ 9: 0000000000000010 0 NOTYPE LOCAL DEFAULT 3 caml_absf_mask
│ 10: 0000000000000000 0 FILE LOCAL DEFAULT ABS a.o
│ 11: 0000000000000020 0 NOTYPE LOCAL DEFAULT 3 caml_negf_mask
│ 12: 0000000000000030 0 NOTYPE LOCAL DEFAULT 3 caml_absf_mask
│ 13: 0000000000000000 0 FILE LOCAL DEFAULT ABS b.o
│ 14: 0000000000000040 0 NOTYPE LOCAL DEFAULT 3 caml_negf_mask
╵
Cheers,
--
Stéphane
-- System Information:
Debian Release: stretch/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.1.0-1-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages ocaml depends on:
ii libx11-dev 2:1.6.3-1
ii ocaml-base [ocaml-base-4.01.0] 4.01.0-5
ii ocaml-base-nox 4.01.0-5
ii ocaml-nox [ocaml-nox-4.01.0] 4.01.0-5
ocaml recommends no packages.
Versions of packages ocaml suggests:
pn tcl-dev <none>
pn tk-dev <none>
-- no debconf information
Reply to: