aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanny Smith <dannysmith@users.sourceforge.net>2008-04-25 04:59:15 +0000
committerDanny Smith <dannysmith@gcc.gnu.org>2008-04-25 04:59:15 +0000
commite65e14760ce8bfe8db4f85a04c55df1b00df5f49 (patch)
tree13f6cf2642deaaaf12312c1371901a6d434398f7
parente0cf724fdb85ec4c47f325cf8a697a8676d0ba63 (diff)
downloadgcc-e65e14760ce8bfe8db4f85a04c55df1b00df5f49.zip
gcc-e65e14760ce8bfe8db4f85a04c55df1b00df5f49.tar.gz
gcc-e65e14760ce8bfe8db4f85a04c55df1b00df5f49.tar.bz2
cygming-crtend.c (register_frame_ctor): Register __gcc_deregister_frame with atexit.
* config/i386/cygming-crtend.c (register_frame_ctor): Register __gcc_deregister_frame with atexit. (deregister_frame_dtor): Remove. From-SVN: r134656
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/i386/cygming-crtend.c9
2 files changed, 7 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ca6f960..c634ab3 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2008-04-25 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming-crtend.c (register_frame_ctor): Register
+ __gcc_deregister_frame with atexit.
+ (deregister_frame_dtor): Remove.
+
2008-04-24 Nathan Froyd <froydnj@codesourcery.com>
Nathan Sidwell <nathan@codesourcery.com>
diff --git a/gcc/config/i386/cygming-crtend.c b/gcc/config/i386/cygming-crtend.c
index 92e1330..ed2d5db 100644
--- a/gcc/config/i386/cygming-crtend.c
+++ b/gcc/config/i386/cygming-crtend.c
@@ -65,22 +65,15 @@ static void *__JCR_END__[1]
= { 0 };
#endif
-
extern void __gcc_register_frame (void);
extern void __gcc_deregister_frame (void);
static void register_frame_ctor (void) __attribute__ ((constructor (0)));
-static void deregister_frame_dtor (void) __attribute__ ((destructor (0)));
-
static void
register_frame_ctor (void)
{
__gcc_register_frame ();
+ atexit (__gcc_deregister_frame);
}
-static void
-deregister_frame_dtor (void)
-{
- __gcc_deregister_frame ();
-}