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

Bug#889133: marked as done (gfortran-7: gfortran mod files include full paths, making software bit unreproducible)



Your message dated Wed, 07 Feb 2018 18:50:00 +0000
with message-id <E1ejUnA-000BRi-VK@fasolo.debian.org>
and subject line Bug#889133: fixed in gcc-7 7.3.0-2
has caused the Debian Bug report #889133,
regarding gfortran-7: gfortran mod files include full paths, making software bit unreproducible
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact owner@bugs.debian.org
immediately.)


-- 
889133: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=889133
Debian Bug Tracking System
Contact owner@bugs.debian.org with problems
--- Begin Message ---
Package: gfortran-7
Version: 0.7.2-1
Severity: normal
Tags: upstream patch

gfortran creates binary .mod and .smod files. These are compressed files, which look like:
(viewed with e.g. zmore /usr/include/cgns.mod ):

GFORTRAN module version '14' created from /build/libcgns-XmhIxt/libcgns-3.3.0/src/cgns_f.F90
(() () () () () () () () () () () () () () () () () () () () () () () ()
() () ())

The full path of the compiled fortran file is included, which can break reproducible builds.

A trivial patch is included, to strip the path.

-- System Information:
Debian Release: 9.3
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: i386 (i686)

Kernel: Linux 4.9.0-5-686-pae (SMP w/1 CPU core)
Locale: LANG=en_IE.UTF-8, LC_CTYPE=en_IE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_IE.UTF-8), LANGUAGE=en_IE.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_IE.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Description: Drop the full pathname from module file descriptions, as
 this breaks reproducible builds
Author: Alastair McKinstry
Last-Updated: 2018-02-02
Forwarded: no

Index: gcc-7-7.2.0/src/gcc/fortran/module.c
===================================================================
--- gcc-7-7.2.0.orig/src/gcc/fortran/module.c
+++ gcc-7-7.2.0/src/gcc/fortran/module.c
@@ -79,6 +79,10 @@ along with GCC; see the file COPYING3.
 #include "scanner.h"
 #include <zlib.h>
 
+/* for GNU / POSIX basename */
+#define _GNU_SOURCE
+#include <string.h>
+
 #define MODULE_EXTENSION ".mod"
 #define SUBMODULE_EXTENSION ".smod"
 
@@ -6063,8 +6067,9 @@ dump_module (const char *name, int dump_
     gfc_fatal_error ("Can't open module file %qs for writing at %C: %s",
 		     filename_tmp, xstrerror (errno));
 
+  /* Use basename to make builds bit-reproducible */
   gzprintf (module_fp, "GFORTRAN module version '%s' created from %s\n",
-	    MOD_VERSION, gfc_source_file);
+            MOD_VERSION, basename(gfc_source_file));
 
   /* Write the module itself.  */
   iomode = IO_OUTPUT;

--- End Message ---
--- Begin Message ---
Source: gcc-7
Source-Version: 7.3.0-2

We believe that the bug you reported is fixed in the latest version of
gcc-7, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 889133@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Matthias Klose <doko@debian.org> (supplier of updated gcc-7 package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Format: 1.8
Date: Wed, 07 Feb 2018 19:26:12 +0100
Source: gcc-7
Binary: gcc-7-base libgcc-7-dev libgcc4 libgcc4-dbg lib64gcc-7-dev lib32gcc-7-dev libn32gcc-7-dev libx32gcc-7-dev gcc-7 gcc-7-multilib gcc-7-test-results gcc-7-plugin-dev gcc-7-hppa64-linux-gnu cpp-7 gcc-7-locales g++-7 g++-7-multilib libgomp1 libgomp1-dbg lib32gomp1 lib32gomp1-dbg lib64gomp1 lib64gomp1-dbg libn32gomp1 libn32gomp1-dbg libasan4 libasan4-dbg lib32asan4 lib32asan4-dbg lib64asan4 lib64asan4-dbg libx32asan4 libx32asan4-dbg libubsan0 libubsan0-dbg lib32ubsan0 lib32ubsan0-dbg lib64ubsan0 lib64ubsan0-dbg libx32ubsan0 libx32ubsan0-dbg libcilkrts5 libcilkrts5-dbg lib32cilkrts5 lib32cilkrts5-dbg lib64cilkrts5 lib64cilkrts5-dbg libx32cilkrts5 libx32cilkrts5-dbg libmpx2 libmpx2-dbg lib32mpx2 lib32mpx2-dbg lib64mpx2 lib64mpx2-dbg libgccjit-7-doc libgccjit-7-dev gobjc++-7 gobjc++-7-multilib gobjc-7 gobjc-7-multilib libobjc-7-dev lib64objc-7-dev lib32objc-7-dev libn32objc-7-dev libx32objc-7-dev gfortran-7 gfortran-7-multilib libgfortran-7-dev lib64gfortran-7-dev
 lib32gfortran-7-dev libn32gfortran-7-dev libx32gfortran-7-dev libgfortran4 libgfortran4-dbg lib64gfortran4 lib64gfortran4-dbg lib32gfortran4 lib32gfortran4-dbg libn32gfortran4 libn32gfortran4-dbg libx32gfortran4 libx32gfortran4-dbg gccgo-7 gccgo-7-multilib libgo11 libgo11-dbg lib64go11 lib64go11-dbg lib32go11 lib32go11-dbg libn32go11 libn32go11-dbg libx32go11 libx32go11-dbg libstdc++-7-dev libstdc++-7-pic libstdc++6-7-dbg lib32stdc++-7-dev lib32stdc++6-7-dbg lib64stdc++-7-dev lib64stdc++6-7-dbg libn32stdc++-7-dev libn32stdc++6-7-dbg libx32stdc++-7-dev libx32stdc++6-7-dbg libstdc++-7-doc gnat-7 gnat-7-sjlj libgnat-7 libgnat-7-dbg libgnatvsn7-dev libgnatvsn7 libgnatvsn7-dbg gdc-7 gdc-7-multilib libgphobos-7-dev libgphobos71 libgphobos71-dbg lib64gphobos-7-dev lib64gphobos71 lib64gphobos71-dbg lib32gphobos-7-dev lib32gphobos71 lib32gphobos71-dbg libx32gphobos-7-dev libx32gphobos71 libx32gphobos71-dbg gccbrig-7 libhsail-rt-7-dev libhsail-rt0 libhsail-rt0-dbg fixincludes
 gcc-7-offload-nvptx libgomp-plugin-nvptx1
 gcc-7-source
Architecture: source
Version: 7.3.0-2
Distribution: unstable
Urgency: medium
Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
Changed-By: Matthias Klose <doko@debian.org>
Description:
 cpp-7      - GNU C preprocessor
 fixincludes - Fix non-ANSI header files
 g++-7      - GNU C++ compiler
 g++-7-multilib - GNU C++ compiler (multilib support)
 gcc-7      - GNU C compiler
 gcc-7-base - GCC, the GNU Compiler Collection (base package)
 gcc-7-hppa64-linux-gnu - GNU C compiler (cross compiler for hppa64)
 gcc-7-locales - GCC, the GNU compiler collection (native language support files)
 gcc-7-multilib - GNU C compiler (multilib support)
 gcc-7-offload-nvptx - GCC offloading compiler to NVPTX
 gcc-7-plugin-dev - Files for GNU GCC plugin development.
 gcc-7-source - Source of the GNU Compiler Collection
 gcc-7-test-results - Test results for the GCC test suite
 gccbrig-7  - GNU BRIG (HSA IL) frontend
 gccgo-7    - GNU Go compiler
 gccgo-7-multilib - GNU Go compiler (multilib support)
 gdc-7      - GNU D compiler (version 2)
 gdc-7-multilib - GNU D compiler (version 2, multilib support)
 gfortran-7 - GNU Fortran compiler
 gfortran-7-multilib - GNU Fortran compiler (multilib support)
 gnat-7     - GNU Ada compiler
 gnat-7-sjlj - GNU Ada compiler (setjump/longjump runtime library)
 gobjc++-7  - GNU Objective-C++ compiler
 gobjc++-7-multilib - GNU Objective-C++ compiler (multilib support)
 gobjc-7    - GNU Objective-C compiler
 gobjc-7-multilib - GNU Objective-C compiler (multilib support)
 lib32asan4 - AddressSanitizer -- a fast memory error detector (32bit)
 lib32asan4-dbg - AddressSanitizer -- a fast memory error detector (32 bit debug sy
 lib32cilkrts5 - Intel Cilk Plus language extensions (32bit)
 lib32cilkrts5-dbg - Intel Cilk Plus language extensions (32 bit debug symbols)
 lib32gcc-7-dev - GCC support library (32 bit development files)
 lib32gfortran-7-dev - Runtime library for GNU Fortran applications (32bit development f
 lib32gfortran4 - Runtime library for GNU Fortran applications (32bit)
 lib32gfortran4-dbg - Runtime library for GNU Fortran applications (32 bit debug symbol
 lib32go11  - Runtime library for GNU Go applications (32bit)
 lib32go11-dbg - Runtime library for GNU Go applications (32 bit debug symbols)
 lib32gomp1 - GCC OpenMP (GOMP) support library (32bit)
 lib32gomp1-dbg - GCC OpenMP (GOMP) support library (32 bit debug symbols)
 lib32gphobos-7-dev - Phobos D standard library (32bit development files)
 lib32gphobos71 - Phobos D standard library (runtime library)
 lib32gphobos71-dbg - Phobos D standard library (debug symbols)
 lib32mpx2  - Intel memory protection extensions (32bit)
 lib32mpx2-dbg - Intel memory protection extensions (32 bit debug symbols)
 lib32objc-7-dev - Runtime library for GNU Objective-C applications (32bit developme
 lib32stdc++-7-dev - GNU Standard C++ Library v3 (development files)
 lib32stdc++6-7-dbg - GNU Standard C++ Library v3 (debugging files)
 lib32ubsan0 - UBSan -- undefined behaviour sanitizer (32bit)
 lib32ubsan0-dbg - UBSan -- undefined behaviour sanitizer (32 bit debug symbols)
 lib64asan4 - AddressSanitizer -- a fast memory error detector (64bit)
 lib64asan4-dbg - AddressSanitizer -- a fast memory error detector (64bit debug sym
 lib64cilkrts5 - Intel Cilk Plus language extensions (64bit)
 lib64cilkrts5-dbg - Intel Cilk Plus language extensions (64bit debug symbols)
 lib64gcc-7-dev - GCC support library (64bit development files)
 lib64gfortran-7-dev - Runtime library for GNU Fortran applications (64bit development f
 lib64gfortran4 - Runtime library for GNU Fortran applications (64bit)
 lib64gfortran4-dbg - Runtime library for GNU Fortran applications (64bit debug symbols
 lib64go11  - Runtime library for GNU Go applications (64bit)
 lib64go11-dbg - Runtime library for GNU Go applications (64bit debug symbols)
 lib64gomp1 - GCC OpenMP (GOMP) support library (64bit)
 lib64gomp1-dbg - GCC OpenMP (GOMP) support library (64bit debug symbols)
 lib64gphobos-7-dev - Phobos D standard library (64bit development files)
 lib64gphobos71 - Phobos D standard library (runtime library)
 lib64gphobos71-dbg - Phobos D standard library (debug symbols)
 lib64mpx2  - Intel memory protection extensions (64bit)
 lib64mpx2-dbg - Intel memory protection extensions (64bit debug symbols)
 lib64objc-7-dev - Runtime library for GNU Objective-C applications (64bit developme
 lib64stdc++-7-dev - GNU Standard C++ Library v3 (development files)
 lib64stdc++6-7-dbg - GNU Standard C++ Library v3 (debugging files)
 lib64ubsan0 - UBSan -- undefined behaviour sanitizer (64bit)
 lib64ubsan0-dbg - UBSan -- undefined behaviour sanitizer (64bit debug symbols)
 libasan4   - AddressSanitizer -- a fast memory error detector
 libasan4-dbg - AddressSanitizer -- a fast memory error detector (debug symbols)
 libcilkrts5 - Intel Cilk Plus language extensions (runtime)
 libcilkrts5-dbg - Intel Cilk Plus language extensions (debug symbols)
 libgcc-7-dev - GCC support library (development files)
 libgcc4    - GCC support library
 libgcc4-dbg - GCC support library (debug symbols)
 libgccjit-7-dev - GCC just-in-time compilation (development files)
 libgccjit-7-doc - GCC just-in-time compilation (documentation)
 libgfortran-7-dev - Runtime library for GNU Fortran applications (development files)
 libgfortran4 - Runtime library for GNU Fortran applications
 libgfortran4-dbg - Runtime library for GNU Fortran applications (debug symbols)
 libgnat-7  - runtime for applications compiled with GNAT (shared library)
 libgnat-7-dbg - runtime for applications compiled with GNAT (debugging symbols)
 libgnatvsn7 - GNU Ada compiler selected components (shared library)
 libgnatvsn7-dbg - GNU Ada compiler selected components (debugging symbols)
 libgnatvsn7-dev - GNU Ada compiler selected components (development files)
 libgo11    - Runtime library for GNU Go applications
 libgo11-dbg - Runtime library for GNU Go applications (debug symbols)
 libgomp-plugin-nvptx1 - GCC OpenMP v4.5 plugin for offloading to NVPTX
 libgomp1   - GCC OpenMP (GOMP) support library
 libgomp1-dbg - GCC OpenMP (GOMP) support library (debug symbols)
 libgphobos-7-dev - Phobos D standard library
 libgphobos71 - Phobos D standard library (runtime library)
 libgphobos71-dbg - Phobos D standard library (debug symbols)
 libhsail-rt-7-dev - HSAIL runtime library (development files)
 libhsail-rt0 - HSAIL runtime library
 libhsail-rt0-dbg - HSAIL runtime library (debug symbols)
 libmpx2    - Intel memory protection extensions (runtime)
 libmpx2-dbg - Intel memory protection extensions (debug symbols)
 libn32gcc-7-dev - GCC support library (n32 development files)
 libn32gfortran-7-dev - Runtime library for GNU Fortran applications (n32 development fil
 libn32gfortran4 - Runtime library for GNU Fortran applications (n32)
 libn32gfortran4-dbg - Runtime library for GNU Fortran applications (n32 debug symbols)
 libn32go11 - Runtime library for GNU Go applications (n32)
 libn32go11-dbg - Runtime library for GNU Go applications (n32 debug symbols)
 libn32gomp1 - GCC OpenMP (GOMP) support library (n32)
 libn32gomp1-dbg - GCC OpenMP (GOMP) support library (n32 debug symbols)
 libn32objc-7-dev - Runtime library for GNU Objective-C applications (n32 development
 libn32stdc++-7-dev - GNU Standard C++ Library v3 (development files)
 libn32stdc++6-7-dbg - GNU Standard C++ Library v3 (debugging files)
 libobjc-7-dev - Runtime library for GNU Objective-C applications (development fil
 libstdc++-7-dev - GNU Standard C++ Library v3 (development files)
 libstdc++-7-doc - GNU Standard C++ Library v3 (documentation files)
 libstdc++-7-pic - GNU Standard C++ Library v3 (shared library subset kit)
 libstdc++6-7-dbg - GNU Standard C++ Library v3 (debugging files)
 libubsan0  - UBSan -- undefined behaviour sanitizer (runtime)
 libubsan0-dbg - UBSan -- undefined behaviour sanitizer (debug symbols)
 libx32asan4 - AddressSanitizer -- a fast memory error detector (x32)
 libx32asan4-dbg - AddressSanitizer -- a fast memory error detector (x32 debug symbo
 libx32cilkrts5 - Intel Cilk Plus language extensions (x32)
 libx32cilkrts5-dbg - Intel Cilk Plus language extensions (x32 debug symbols)
 libx32gcc-7-dev - GCC support library (x32 development files)
 libx32gfortran-7-dev - Runtime library for GNU Fortran applications (x32 development fil
 libx32gfortran4 - Runtime library for GNU Fortran applications (x32)
 libx32gfortran4-dbg - Runtime library for GNU Fortran applications (x32 debug symbols)
 libx32go11 - Runtime library for GNU Go applications (x32)
 libx32go11-dbg - Runtime library for GNU Go applications (x32 debug symbols)
 libx32gphobos-7-dev - Phobos D standard library (x32 development files)
 libx32gphobos71 - Phobos D standard library (runtime library)
 libx32gphobos71-dbg - Phobos D standard library (debug symbols)
 libx32objc-7-dev - Runtime library for GNU Objective-C applications (x32 development
 libx32stdc++-7-dev - GNU Standard C++ Library v3 (development files)
 libx32stdc++6-7-dbg - GNU Standard C++ Library v3 (debugging files)
 libx32ubsan0 - UBSan -- undefined behaviour sanitizer (x32)
 libx32ubsan0-dbg - UBSan -- undefined behaviour sanitizer (x32 debug symbols)
Closes: 889133
Changes:
 gcc-7 (7.3.0-2) unstable; urgency=medium
 .
   * Update to SVN 20180207 (r257455) from the gcc-7-branch.
     - Fix PR libstdc++/81076, PR libstdc++/83830, PR rtl-optimization/83985,
       PR target/83862 (PPC), PR target/83399 (PPC), PR c++/82878, PR c++/78495,
       PR libstdc++/83833, PR libstdc++/83658, PR libstdc++/83833, PR c++/82461,
       PR bootstrap/80867, PR rtl-optimization/84071, PR target/68467 (m68k),
       PR target/81763 (x86), PR target/84033 (PPC), PR target/83905 (x86),
       PR target/56010 (PPC), PR target/83743 (PPC), PR rtl-optimization/84123,
       PR target/83370 (AArch64), PR tree-optimization/82795.
   * Stop building packages now built by gcc-8.
   * Include arm_cmse.h header for ARM32 architectures.
   * Store basename only in gfortran .mod files. Closes: #889133.
Checksums-Sha1:
 1026566486876633621fb5fb8213a665441eb56d 26444 gcc-7_7.3.0-2.dsc
 c264c1a8298580b0edbca436bba91ff903ce4f71 699933 gcc-7_7.3.0-2.diff.gz
 c98cd58d4e7b58b2cd73646d4256b2bf91a30d38 10521 gcc-7_7.3.0-2_source.buildinfo
Checksums-Sha256:
 c98f936d0412d12345f8d67df1974ef919711d121e8decb3e3391fccb861b6df 26444 gcc-7_7.3.0-2.dsc
 8b8cfd69d1d8a158068c5e6c92496b164e08d381b433c58f066d8003cc987f03 699933 gcc-7_7.3.0-2.diff.gz
 6a3555c1c090cd7cf8d3588f9fd79a2e8f609dc74d7c8c9d8f74d35713fcda61 10521 gcc-7_7.3.0-2_source.buildinfo
Files:
 a7a7c866ada7627e311a21f23bf34609 26444 devel optional gcc-7_7.3.0-2.dsc
 78f6d44bd52fc7606d6e2a245fd9f9e6 699933 devel optional gcc-7_7.3.0-2.diff.gz
 bef5c953e97de6ec3ecc3d14f9c7fd43 10521 devel optional gcc-7_7.3.0-2_source.buildinfo

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

iQJEBAEBCAAuFiEE1WVxuIqLuvFAv2PWvX6qYHePpvUFAlp7RU0QHGRva29AZGVi
aWFuLm9yZwAKCRC9fqpgd4+m9e4iD/4+CnbC6Gqx+Vyc37oE52Nscp0G6WV+gva4
jWiFhVnQ1bCIBojNeYAJFfueoW3/gtPa8CSrkgqisMZTiqkXzFTyhYTw7P6gfVQ1
pTjN66LQ2ADv9LJOoFjd4icXCSF822YsvF3gb+6s+jzLPe/n7w8RlJrj1VNfcNvb
JiLoHasxmOpGVKV8fri/pJd/g59XxJB/Eobqqq2+aBQbwfwjDy6CuvrzebjUQL/p
kM1PFxjnopfssB2lEcEJuGc1lsgCYh5o7WZvNfb8J3smEmFH9izOrXiYV7+HDSPm
/m0jPQtwFDCP0mrP9xkLTPVKObdL1mIP0nFs/9WIV8nze7CXa5JWTTekRS5PZnmO
j37QpCDAE9zBzGwp9nUC15tNtD5ezjQBUAvpNauSXH+cvTZ0rx2XxiTvye9q0bJr
VyPGAOowTufEGMPoUrm0P3u/VJDDS1pt5Z2nt6N/EtCoxNgBeMG8yMCR4o5B/Xh6
DTL9nau/LdeflXNYtd9S4WOBP6ADXVI4Y9RUyTbp67ecxyVYxIs5KVrVvP0JfsbF
ULKlGOef1K1fUG1y3bb8sNfjmPyqnEYZZSyskJNXqWAxPaS+uzNrVIlscZZnbgcw
x5CQ/YDvjpByqt4vnwyar8CWEDGjcsvDn7mACbeagnJaiQtbxqHSAMOqw83KASy8
o37mqwm1wg==
=fSOn
-----END PGP SIGNATURE-----

--- End Message ---

Reply to: