bug#54788: libtool -export-symbols-regex broken on Solaris against GNU ld

Frederic Berat <[email protected]> Fri, 8 Apr 2022 09:29:24 +0200
Newsgroups gmane.comp.gnu.libtool.bugs
Message-ID <CAObJKZoxgOqP7J5KURotsUtNk+p29Na7s5edtd6CubBpRt=x1g@mail.gmail.com>
Hello,

The following problem has been found by the GCC team:

As mentioned in https://gcc.gnu.org/PR102426 , libtool
-export-symbols-regex implementation on *-solaris* blindly assumes that Sun
ld is used and uses -Wl,-M option:

      if test "$GCC" = yes; then
        wlarc='${wl}'
        _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h
${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
        _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" >
$lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo
"local: *; };" >> $lib.exp~
          $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h
${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
      else

in libtool.m4.

But when GCC is configured to use GNU ld, that is wrong, for the
if test "$with_gnu_ld" = yes case it needs to use (if
supports_anon_versioning)
-Wl,-version-script like e.g. on Linux.

Frédéric Bérat

Red Hat -  Platform Tools
https://www.redhat.com

_______________________________________________
Bug-libtool mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-libtool