diff options
author | Gavin Romig-Koch <gavin@cygnus.com> | 1999-10-14 13:38:01 +0000 |
---|---|---|
committer | Gavin Romig-Koch <gavin@gcc.gnu.org> | 1999-10-14 13:38:01 +0000 |
commit | a4ebb0e69f59c5405c6b30b66b33d2df3505385b (patch) | |
tree | ba4d678558b5f22bae0b065f075669e0504057f6 | |
parent | 69404d6fffd9504e62975b39ef4208f9a008443f (diff) | |
download | gcc-a4ebb0e69f59c5405c6b30b66b33d2df3505385b.zip gcc-a4ebb0e69f59c5405c6b30b66b33d2df3505385b.tar.gz gcc-a4ebb0e69f59c5405c6b30b66b33d2df3505385b.tar.bz2 |
libgcc2.c (__do_global_dtors): Protect __deregister_frame_info from multiple calls.
* libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
from multiple calls.
From-SVN: r29979
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/libgcc2.c | 9 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e456336..c7b0ca7 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +1999-10-14 Gavin Romig-Koch <gavin@cygnus.com> + + * libgcc2.c (__do_global_dtors): Protect __deregister_frame_info + from multiple calls. + Thu Oct 14 04:54:54 1999 Richard Henderson <rth@cygnus.com> * i386.md (call value patterns): Move to the end of the file. diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index a05d7fd..6a982cc 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -2867,7 +2867,14 @@ __do_global_dtors () } #endif #ifdef EH_FRAME_SECTION - __deregister_frame_info (__EH_FRAME_BEGIN__); + { + static int completed = 0; + if (! completed) + { + completed = 1; + __deregister_frame_info (__EH_FRAME_BEGIN__); + } + } #endif } #endif |