diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/cygming-crtend.c | 9 |
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 (); -} |