[patch, fortran] PR77828 Linking gfortran-7 compiled program with libgfortran of 5.x allowed but crashes
Steve Kargl
sgk@troutmask.apl.washington.edu
Thu Oct 20 23:56:00 GMT 2016
I haven't had time to test the patch. I don't see
off hand anything wrong the patch. But, as you've
seen in bugzilla recent IO work has caused some
problem for a few archs. You'll probably need to
keep an eye open for new issues.
--
steve
On Thu, Oct 20, 2016 at 12:32:38PM -0700, Jerry DeLisle wrote:
> Ping (shall I proceed)
>
> On 10/18/2016 04:48 PM, Jerry DeLisle wrote:
> > Hi Folks,
> >
> > The attached patch does some minor cleanup and bumps the libgfortran version
> > number. I have wanted to reorder the dtp structure for many years now. Not
> > strictly needed but it has bugged me forever.
> >
> > The bump is needed because of the significant changes from implementation of DTIO.
> >
> > I also took care of the stream I/O TODO and added a new test case for the error
> > message.
> >
> > On my system, I have LD_LIBRARY_PATH set to point to the new library version
> > first and then the version 3 are found elsewhere. With the patch we now see the
> > following behavior. (Test case in the PR)
> >
> > Compile with version 6. Finds libgfortran3 on execution:
> > $gfc6 pr77828.f90
> > $ ./a.out
> > Greetings from i 42 of 43
> >
> > Greetings from i 42 of 43
> >
> > Compile with version 7. Finds libgfortran4 on execution:
> > $ gfc pr77828.f90
> > [jerry@amda8 pr77828]$ ./a.out
> > Greetings from i 42 of 43
> >
> > Greetings from i 42 of 43
> >
> > Change LD_LIBRARY_PATH to not find libgfortran4:
> > $ export LD_LIBRARY_PATH=/home/jerry/dev/usr6/lib64
> > $ gfc pr77828.f90
> > $ ./a.out
> > ./a.out: error while loading shared libraries: libgfortran.so.4: cannot open
> > shared object file: No such file or directory
> >
> > Word of caution. When this patch is applied rebuild from a clean/empty build
> > directory. You must delete any libgfortran3 remnants that may have been built
> > and installed previously with gcc version 7 trunk, Otherwise the linker/loader
> > may find those rather than a libgfortran3 built for gcc 6 or previous. (When
> > compiling with a previous version of gcc)
> >
> > New test case provided for the streamio error check.
> >
> > Regression tested on x86-64-linux.
> >
> > OK for trunk?
> >
> > Regards,
> >
> > Jerry
> >
> > 2016-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
> >
> > PR fortran/77828
> > * io/io.h (st_parameter_dt): Reorder for readability and sanity.
> > * io/transfer.c (data_transfer_init): Remove TODO and enable the
> > runtime error message, rec= specifier not allowed in STREAM
> > access.
> > * libtool-version: Bump major version of libgfortran to 4.
> >
> > 2016-10-18 Jerry DeLisle <jvdelisle@gcc.gnu.org>
> >
> > PR fortran/77828
> > * ioparm.def: Reorder dt parameters to match libgfortran.
> >
> >
> >
--
Steve
More information about the Fortran
mailing list