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)

Reply via email to