libgcc2.c (__do_global_dtors): Protect __deregister_frame_info from multiple calls.
authorGavin Romig-Koch <gavin@cygnus.com>
Thu, 14 Oct 1999 13:38:01 +0000 (13:38 +0000)
committerGavin Romig-Koch <gavin@gcc.gnu.org>
Thu, 14 Oct 1999 13:38:01 +0000 (13:38 +0000)
* libgcc2.c (__do_global_dtors): Protect __deregister_frame_info
from multiple calls.

From-SVN: r29979

gcc/ChangeLog
gcc/libgcc2.c

index e4563368c38af700f6079fc1ae3f259c848826aa..c7b0ca783274941c2b80a550fdcded84b28248f3 100644 (file)
@@ -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.
index a05d7fd52aa267420bd2b662504481e5bb61b428..6a982cc3a2a84d06150ef4fb3ef5fcc9fd44d896 100644 (file)
@@ -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