[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#920022: gfortran: doesn't generate reproducibly the same object file for an unchanged fortran source file



Package: gfortran
Version: 4:8.2.0-2
Severity: normal

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Hi,

I'm filing this bug against gfortran because I can't find any related
piece of information anywhere about this reproducibility problem.

I'm just one step to achieve the Reproducible builds goal for the code-saturne
package, but I'm stuck with unreproducible fortran builds [1].

[1] https://tests.reproducible-builds.org/debian/dbdtxt/unstable/armhf/code-saturne_5.3.1+repack-8.diffoscope.txt.gz

I've narrowed the problem to - at least - one source file: src/base/clptur.f90.

Steps to reproduce:
1- Run a first build code-saturne 5.3.1+repack-8 against unstable
2- In the src/base subdirectory, run this command several times:
gfortran -I../../src -I../../src/alge -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/ctwr -I../../src/darc -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -I../../src/turb -I../../src/user -O -x f95-cpp-input -Wall -pedantic-errors -std=f2003 -fdiagnostics-color=auto -g -O2 -fdebug-prefix-map=$(readlink -f ../..)=. -fstack-protector-strong -fopenmp -c clptur.f90  -fPIC -o .libs/clptur.o 2>/dev/null && readelf -a .libs/clptur.o | grep ntlast && ls -l .libs/clptur.o

Here is an example of what I obtain after two runs in a row:

$ gfortran -I../../src -I../../src/alge -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/ctwr -I../../src/darc -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -I../../src/turb -I../../src/user -O -x f95-cpp-input -Wall -pedantic-errors -std=f2003 -fdiagnostics-color=auto -g -O2 -fdebug-prefix-map=$(readlink -f ../..)=. -fstack-protector-strong -fopenmp -c clptur.f90  -fPIC -o .libs/clptur.o 2>/dev/null && readelf -a .libs/clptur.o | grep ntlast && ls -l .libs/clptur.o         
     9: 0000000000000000     4 OBJECT  LOCAL  DEFAULT    3 ntlast.4720
- -rw-rw-r-- 1 pini pini 182504 Jan 21 09:07 .libs/clptur.o
$ gfortran -I../../src -I../../src/alge -I../../src/atmo -I../../src/cfbl -I../../src/cogz -I../../src/comb -I../../src/ctwr -I../../src/darc -I../../src/elec -I../../src/lagr -I../../src/pprt -I../../src/rayt -I../../src/turb -I../../src/user -O -x f95-cpp-input -Wall -pedantic-errors -std=f2003 -fdiagnostics-color=auto -g -O2 -fdebug-prefix-map=$(readlink -f ../..)=. -fstack-protector-strong -fopenmp -c clptur.f90  -fPIC -o .libs/clptur.o 2>/dev/null && readelf -a .libs/clptur.o | grep ntlast && ls -l .libs/clptur.o         
     9: 0000000000000000     4 OBJECT  LOCAL  DEFAULT    3 ntlast.4722
- -rw-rw-r-- 1 pini pini 182536 Jan 21 09:07 .libs/clptur.o

First, the size of the generated object file isn't always the same.
Second, the symbol generated for the 'ntlast' variable varies from
'ntlast.4719' to 'ntlast.4722'.

Any help appreciated.
Thanks in advance,

_g.

-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEEoJObzArDE05WtIyR7+hsbH/+z4MFAlxF9rcACgkQ7+hsbH/+
z4MQWgf+JKMSRT8sqgV1l1naPxacMoDEt+Cy698QmNUzS1ez7cn+O1KIUFeqkBwe
H+Qr6RX0EnkxC3PYuIC2BU6PVD3uAJVo4NI0x4wtKlhc2r/hXODfJyUykDnxSnHr
V36FA/tYwx/ilQDEhv1Dd0u3yKwlDW2K80xTbFroxJ/CcywO/PwcG4Knq1wVAUsp
tr5WI4i5u/ewEWGvXKkov1nGfLgGxqx4oA3QF116tyCvYPxv92PXY7PL4PzRxJwZ
KlXAPad/9HklQc9eqi5gH8t2w/f1ITghmMTg0ddJVsT2odIn6FZm6zk7pShyUhdk
3uifKCKldTV32EmqKdvUEhQwNXAfsA==
=uMKT
-----END PGP SIGNATURE-----


Reply to: