Using lbasename ensures that the build path does not end up in the
module file.
Regtested on x86_64-pc-linux-gnu, committed to trunk. Will shortly
backport to the 6 and 7 branches as well.
2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
Janne Blomqvist <jb@gcc.gnu.org>
* module.c (dump_module): Use lbasename to ensure that module
files are reproducible.
Co-Authored-By: Janne Blomqvist <jb@gcc.gnu.org>
From-SVN: r257613
+2018-02-13 Alastair McKinstry <alastair.mckinstry@sceal.ie>
+ Janne Blomqvist <jb@gcc.gnu.org>
+
+ * module.c (dump_module): Use lbasename to ensure that module
+ files are reproducible.
+
2018-02-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/84273
2018-02-12 Janus Weil <janus@gcc.gnu.org>
PR fortran/84273
gfc_fatal_error ("Can't open module file %qs for writing at %C: %s",
filename_tmp, xstrerror (errno));
gfc_fatal_error ("Can't open module file %qs for writing at %C: %s",
filename_tmp, xstrerror (errno));
+ /* Use lbasename to ensure module files are reproducible regardless
+ of the build path (see the reproducible builds project). */
gzprintf (module_fp, "GFORTRAN module version '%s' created from %s\n",
gzprintf (module_fp, "GFORTRAN module version '%s' created from %s\n",
- MOD_VERSION, gfc_source_file);
+ MOD_VERSION, lbasename (gfc_source_file));
/* Write the module itself. */
iomode = IO_OUTPUT;
/* Write the module itself. */
iomode = IO_OUTPUT;