From 7b47686da37d266cfcc5f45cd44222737c12390a Mon Sep 17 00:00:00 2001 From: Alastair McKinstry Date: Tue, 13 Feb 2018 07:59:10 +0000 Subject: [PATCH] Make module files reproducible 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 Janne Blomqvist * module.c (dump_module): Use lbasename to ensure that module files are reproducible. Co-Authored-By: Janne Blomqvist From-SVN: r257613 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/module.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6f416b31e4f..c3db796b7e8 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2018-02-13 Alastair McKinstry + Janne Blomqvist + + * module.c (dump_module): Use lbasename to ensure that module + files are reproducible. + 2018-02-12 Janus Weil PR fortran/84273 diff --git a/gcc/fortran/module.c b/gcc/fortran/module.c index b120501beb7..c833e67f71f 100644 --- a/gcc/fortran/module.c +++ b/gcc/fortran/module.c @@ -6148,8 +6148,10 @@ dump_module (const char *name, int dump_flag) 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", - MOD_VERSION, gfc_source_file); + MOD_VERSION, lbasename (gfc_source_file)); /* Write the module itself. */ iomode = IO_OUTPUT; -- 2.30.2