diff options
author | Jason Merrill <jason@yorick.cygnus.com> | 1998-06-17 10:31:24 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-06-17 04:31:24 -0600 |
commit | d460fb3cdd284fb444d228af2f2f0b2c885b33b1 (patch) | |
tree | 3023c4755d1feae897aa8935050f3b5ebd32036b /gcc | |
parent | 4b95eb496dc3b0bc1680ad978be4b2f094de556d (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rwxr-xr-x | gcc/configure | 10 | ||||
-rw-r--r-- | gcc/configure.in | 10 | ||||
-rw-r--r-- | gcc/dwarf2out.c | 5 |
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. */ |