aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@yorick.cygnus.com>1998-06-17 10:31:24 +0000
committerJeff Law <law@gcc.gnu.org>1998-06-17 04:31:24 -0600
commitd460fb3cdd284fb444d228af2f2f0b2c885b33b1 (patch)
tree3023c4755d1feae897aa8935050f3b5ebd32036b /gcc
parent4b95eb496dc3b0bc1680ad978be4b2f094de556d (diff)
downloadgcc-d460fb3cdd284fb444d228af2f2f0b2c885b33b1.zip
gcc-d460fb3cdd284fb444d228af2f2f0b2c885b33b1.tar.gz
gcc-d460fb3cdd284fb444d228af2f2f0b2c885b33b1.tar.bz2
dwarf2out.c: Disable EH_FRAME_SECTION if we don't have .init.
* 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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rwxr-xr-xgcc/configure10
-rw-r--r--gcc/configure.in10
-rw-r--r--gcc/dwarf2out.c5
4 files changed, 21 insertions, 10 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 88a56d6..601d4da 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/configure b/gcc/configure
index 1356037..1390118 100755
--- a/gcc/configure
+++ b/gcc/configure
@@ -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.
diff --git a/gcc/configure.in b/gcc/configure.in
index 1575f88..377e545 100644
--- a/gcc/configure.in
+++ b/gcc/configure.in
@@ -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.
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 52f02cd..6d6a502 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -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. */