-
- Downloads
fortran: Add -static-libquadmath support [PR46539]
The following patch is a revival of the https://gcc.gnu.org/legacy-ml/gcc-patches/2014-10/msg00771.html patch. While trunk configured against recent glibc and with linker --as-needed support doesn't really need to link against -lquadmath anymore, there are still other targets where libquadmath is still in use. As has been discussed, making -static-libgfortran imply statically linking both libgfortran and libquadmath is undesirable because of the significant licensing differences between the 2 libraries. Compared to the 2014 patch, this one doesn't handle -lquadmath addition in the driver, which to me looks incorrect, libgfortran configure determines where in libgfortran.spec -lquadmath should be present if at all and with what it should be wrapped, but analyzes gfortran -### -static-libgfortran stderr and based on that figures out what gcc/configure.ac determined. 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> Jakub Jelinek <jakub@redhat.com> PR fortran/46539 gcc/ * common.opt (static-libquadmath): New option. * gcc.cc (driver_handle_option): Always accept -static-libquadmath. * config/darwin.h (LINK_SPEC): Handle -static-libquadmath. gcc/fortran/ * lang.opt (static-libquadmath): New option. * invoke.texi (-static-libquadmath): Document it. * options.cc (gfc_handle_option): Error out if -static-libquadmath is passed but we do not support it. libgfortran/ * acinclude.m4 (LIBQUADSPEC): From $FC -static-libgfortran -### output determine -Bstatic/-Bdynamic, -bstatic/-bdynamic, -aarchive_shared/-adefault linker support or Darwin remapping of -lgfortran to libgfortran.a%s and use that around or instead of -lquadmath in LIBQUADSPEC. * configure: Regenerated. Co-Authored-By:Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Showing
- gcc/common.opt 4 additions, 0 deletionsgcc/common.opt
- gcc/config/darwin.h 1 addition, 0 deletionsgcc/config/darwin.h
- gcc/fortran/invoke.texi 15 additions, 1 deletiongcc/fortran/invoke.texi
- gcc/fortran/lang.opt 4 additions, 0 deletionsgcc/fortran/lang.opt
- gcc/fortran/options.cc 7 additions, 0 deletionsgcc/fortran/options.cc
- gcc/gcc.cc 4 additions, 2 deletionsgcc/gcc.cc
- libgfortran/acinclude.m4 24 additions, 3 deletionslibgfortran/acinclude.m4
- libgfortran/configure 23 additions, 3 deletionslibgfortran/configure
Loading
Please register or sign in to comment