summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authordannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>2008-04-25 04:59:15 +0000
committerdannysmith <dannysmith@138bc75d-0d04-0410-961f-82ee72b054a4>2008-04-25 04:59:15 +0000
commita64de0e66d1c742edfe5e35aed8fbc49fe303283 (patch)
tree13f6cf2642deaaaf12312c1371901a6d434398f7 /gcc
parentc6a6430addd91650069c95593b85d0588d72f3b7 (diff)
downloadgcc-a64de0e66d1c742edfe5e35aed8fbc49fe303283.tar.gz
* config/i386/cygming-crtend.c (register_frame_ctor): Register
__gcc_deregister_frame with atexit. (deregister_frame_dtor): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134656 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-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 ca6f960b767..c634ab396d3 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 92e133099e4..ed2d5dba6c2 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 ();
-}