From 761c31c6e26afb59b57c4749a7eb7481f8f437f8 Mon Sep 17 00:00:00 2001
From: aoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Date: Mon, 4 Jun 2001 19:33:03 +0000
Subject: [PATCH] * ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris,
 with_gcc]: Use `gcc -shared' to build a shared library.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@42874 138bc75d-0d04-0410-961f-82ee72b054a4
---
 ChangeLog |  5 +++++
 ltcf-c.sh | 14 +++++++++-----
 2 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 777bd1aae0c5..7a77c439ff81 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun  4 16:32:53 2001  Mark Mitchell  <mark@codesourcery.com>
+
+	* ltcf-c.sh (archive_cmds, archive_expsym_cmds) [solaris,
+	with_gcc]: Use `gcc -shared' to build a shared library.
+
 Mon Jun  4 16:24:43 2001  John David Anglin  <dave@hiauly1.hia.nrc.ca>
 
 	* ltcf-c.sh (archive_cmd) [hpux, with_gcc]: Use gcc to link shared
diff --git a/ltcf-c.sh b/ltcf-c.sh
index 3245424273dd..1ce95e2507de 100644
--- a/ltcf-c.sh
+++ b/ltcf-c.sh
@@ -513,11 +513,15 @@ else
 
   solaris*)
     no_undefined_flag=' -z defs'
-    # $CC -shared without GNU ld will not create a library from C++
-    # object files and a static libstdc++, better avoid it by now
-    archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-    archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
-		$LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    if test "$with_gcc" = yes; then
+      archive_cmds='$CC -shared ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
+      archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+                  $CC -shared ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$rm $lib.exp'
+    else
+      archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
+      archive_expsym_cmds='$echo "{ global:" > $lib.exp~cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $lib.exp~$echo "local: *; };" >> $lib.exp~
+		  $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$rm $lib.exp'
+    fi
     hardcode_libdir_flag_spec='-R$libdir'
     hardcode_shlibpath_var=no
     case $host_os in
-- 
GitLab