https://gcc.gnu.org/g:8daf4eb02a2e739d5c62b94528adfddaed506a0a
commit r15-172-g8daf4eb02a2e739d5c62b94528adfddaed506a0a Author: Rainer Orth <r...@cebitec.uni-bielefeld.de> Date: Mon May 6 09:31:11 2024 +0200 libgfortran: Fix libgfortran.so versioning on Solaris with subdirs The move of libgfortran objects to subdirectories completely broke the creation of libgfortran.so on Solaris. Since the gfortran.ver-sun rule doesn't support that structure, no libtool objects are found, thus no symbols exported from libgfortran.so, causing every link to fail. This patch fixes this by allowing for the new structure. Tested on i386-pc-solaris2.11 and sparc-sun-solaris2.11. 2024-05-05 Rainer Orth <r...@cebitec.uni-bielefeld.de> libgfortran: * Makefile.am [LIBGFOR_USE_SYMVER_SUN] (gfortran.ver-sun): Handle objects in subdirs. * Makefile.in: Regenerate. Diff: --- libgfortran/Makefile.am | 2 +- libgfortran/Makefile.in | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am index 8bef1729219..9e1d12f7546 100644 --- a/libgfortran/Makefile.am +++ b/libgfortran/Makefile.am @@ -29,7 +29,7 @@ gfortran.ver-sun : gfortran.ver \ $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) perl $(top_srcdir)/../contrib/make_sunver.pl \ gfortran.ver \ - $(libgfortran_la_OBJECTS:%.lo=.libs/%.o) \ + $(subst /,/.libs/,$(libgfortran_la_OBJECTS:.lo=.o)) \ `echo $(libgfortran_la_LIBADD) | \ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \ > $@ || (rm -f $@ ; exit 1) diff --git a/libgfortran/Makefile.in b/libgfortran/Makefile.in index f4fe0ebc43e..ab10a476eae 100644 --- a/libgfortran/Makefile.in +++ b/libgfortran/Makefile.in @@ -4576,7 +4576,7 @@ uninstall-am: uninstall-cafexeclibLTLIBRARIES uninstall-gfor_cHEADERS \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(libgfortran_la_OBJECTS) $(libgfortran_la_LIBADD) @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ perl $(top_srcdir)/../contrib/make_sunver.pl \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ gfortran.ver \ -@LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(libgfortran_la_OBJECTS:%.lo=.libs/%.o) \ +@LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ $(subst /,/.libs/,$(libgfortran_la_OBJECTS:.lo=.o)) \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ `echo $(libgfortran_la_LIBADD) | \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ sed 's,/\([^/.]*\)\.la,/.libs/\1.a,g'` \ @LIBGFOR_USE_SYMVER_SUN_TRUE@@LIBGFOR_USE_SYMVER_TRUE@ > $@ || (rm -f $@ ; exit 1)