dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
authorJason Merrill <jason@yorick.cygnus.com>
Wed, 17 Jun 1998 10:31:24 +0000 (10:31 +0000)
committerJeff Law <law@gcc.gnu.org>
Wed, 17 Jun 1998 10:31:24 +0000 (04:31 -0600)
        * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
        * configure.in: Don't disable collect2 when we have GNU ld.

From-SVN: r20536

gcc/ChangeLog
gcc/configure
gcc/configure.in
gcc/dwarf2out.c

index 88a56d68cb78834244e76d404412e1a8a93d848b..601d4da7997ee18176cb9bbc0ab3ffd9377b4608 100644 (file)
@@ -1,3 +1,9 @@
+1998-06-17  Jason Merrill  <jason@yorick.cygnus.com>
+
+       * dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
+
+       * configure.in: Don't disable collect2 when we have GNU ld.
+
 Wed Jun 17 08:38:13 1998  Jeffrey A Law  (law@cygnus.com)
 
        * configure.in (nm): Make a link to "nm" in the build tree too.
index 135603747f1c53b61ac1d9474e9f4994cc193a38..1390118fbaa6ae184036808792737ed78ae14db7 100755 (executable)
@@ -4763,11 +4763,11 @@ for machine in $build $host $target; do
        fi
 
        # No need for collect2 if we have the GNU linker.
-       case x$gnu_ld in
-       xyes)
-               use_collect2=
-               ;;
-       esac
+       # Actually, there is now; GNU ld doesn't handle the EH info or
+       # collecting for shared libraries.
+       # Instead we always turn on use_collect2; it's a rather heavyweight
+       # solution to the problem, but it works.
+       use_collect2=yes
 
 # Save data on machine being used to compile GCC in build_xm_file.
 # Save data on host machine in vars host_xm_file and host_xmake_file.
index 1575f8889a79b98fd70985b88528edd37c695161..377e54521b47525a7d3f5f8c442651b8c156ee07 100644 (file)
@@ -2919,11 +2919,11 @@ for machine in $build $host $target; do
        fi
 
        # No need for collect2 if we have the GNU linker.
-       case x$gnu_ld in
-       xyes)
-               use_collect2=
-               ;;
-       esac
+       # Actually, there is now; GNU ld doesn't handle the EH info or
+       # collecting for shared libraries.
+       # Instead we always turn on use_collect2; it's a rather heavyweight
+       # solution to the problem, but it works.
+       use_collect2=yes
 
 # Save data on machine being used to compile GCC in build_xm_file.
 # Save data on host machine in vars host_xm_file and host_xmake_file.
index 52f02cd5c94b22ec5d08144bd8eaf9220018df89..6d6a502c4e40afb57d66405025bcfd93890cfc83 100644 (file)
@@ -1624,6 +1624,11 @@ output_cfi (cfi, fde)
 #endif
 #endif
 
+/* If we aren't using crtstuff to run ctors, don't use it for EH.  */
+#if !defined (HAS_INIT_SECTION) && !defined (INIT_SECTION_ASM_OP)
+#undef EH_FRAME_SECTION
+#endif
+
 /* Output the call frame information used to used to record information
    that relates to calculating the frame pointer, and records the
    location of saved registers.  */