This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

3.0 PATCH: Enable shared libstdc++ v3 on Tru64 UNIX


I recently noticed that the shared libstdc++ wasn't built anymore on Tru64
UNIX V4.0F and V5.1, while this had worked back in february.  I could trace
this to the installation of a new libtool from the multi-language branch.
The following trivial patch re-enables building it.

A bootstrap on Tru64 UNIX V5.1 gave four additional g++ test failures:

+FAIL: g++.abi/cxa_vec.C  Execution test
+FAIL: g++.mike/eh2.C  Execution test
+FAIL: g++.mike/eh23.C  Execution test
+FAIL: g++.mike/p9706.C  Execution test

On Tru64 UNIX V4.0F, the picture is similar:

+FAIL: g++.abi/cxa_vec.C  Execution test
-FAIL: g++.mike/eh49.C  Execution test
+FAIL: g++.mike/p9706.C  Execution test

Since C++ exception handling on Tru64 seems pretty broken right now (many
tests are failing with unaligned access errors), this may be acceptable
nonetheless.  I'll further investigate this, though.

	Rainer

-----------------------------------------------------------------------------
Rainer Orth, Faculty of Technology, Bielefeld University

Email: ro@TechFak.Uni-Bielefeld.DE


Mon May 28 14:56:26 2001  Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>

	* ltcf-cxx.sh (osf3, osf4, osf5): Handle gcc.

Index: ltcf-cxx.sh
===================================================================
RCS file: /cvs/gcc/gcc/ltcf-cxx.sh,v
retrieving revision 1.12.2.9
diff -u -p -r1.12.2.9 ltcf-cxx.sh
--- ltcf-cxx.sh	2001/05/22 10:41:12	1.12.2.9
+++ ltcf-cxx.sh	2001/05/28 18:07:17
@@ -386,19 +386,6 @@ case $host_os in
     # NetBSD uses g++ - do we need to do anything?
     ;;
   osf3*)
-    if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
-    fi
-
     case $cc_basename in
       KCC)
         # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -439,25 +426,25 @@ case $host_os in
         output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
         ;;
       *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs=no
+        if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+          allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+          archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+          hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+          hardcode_libdir_separator=:
+
+          # Commands to make compiler produce verbose output that lists
+          # what "hidden" libraries, object files and flags are used when
+          # linking a shared library.
+          output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+        else
+          # FIXME: insert proper C++ library support
+          ld_shlibs=no
+        fi
         ;;
     esac
     ;;
   osf4* | osf5*)
-    if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
-      allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-      archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
-
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-
-      # Commands to make compiler produce verbose output that lists
-      # what "hidden" libraries, object files and flags are used when
-      # linking a shared library.
-      output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
-    fi
-
     case $cc_basename in
       KCC)
         # Kuck and Associates, Inc. (KAI) C++ Compiler
@@ -501,8 +488,21 @@ case $host_os in
         output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | grep "ld" | grep -v "ld:"`; templist=`echo $templist | sed "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; echo $list'
         ;;
       *)
-        # FIXME: insert proper C++ library support
-        ld_shlibs=no
+        if test "$with_gcc" = yes && test "$with_gnu_ld" = no; then
+          allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
+          archive_cmds='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && echo ${wl}-set_version ${wl}$verstring` ${wl}-update_registry ${wl}${objdir}/so_locations -o $lib'
+
+          hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
+          hardcode_libdir_separator=:
+
+          # Commands to make compiler produce verbose output that lists
+          # what "hidden" libraries, object files and flags are used when
+          # linking a shared library.
+          output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | egrep "\-L"'
+        else  
+          # FIXME: insert proper C++ library support
+          ld_shlibs=no
+        fi
         ;;
     esac
     ;;


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]