Commit 5041a61c by Jeffrey A Law Committed by Jeff Law

* crtstuff.c (do_global_dtors_aux): Handle multiple calls better.

From-SVN: r16698
parent bb727b5a
Tue Nov 25 10:00:42 1997 Jeffrey A Law (law@cygnus.com)
* crtstuff.c (do_global_dtors_aux): Handle multiple calls better.
Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>: Tue Nov 25 01:26:55 1997 Bruno Haible <haible@ilog.fr>:
* dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement. * dwarf2out.c (ASM_OUTPUT_DWARF_DELTA1): Implement.
......
...@@ -128,6 +128,11 @@ static void ...@@ -128,6 +128,11 @@ static void
__do_global_dtors_aux () __do_global_dtors_aux ()
{ {
static func_ptr *p = __DTOR_LIST__ + 1; static func_ptr *p = __DTOR_LIST__ + 1;
static int completed = 0;
if (completed)
return;
while (*p) while (*p)
{ {
p++; p++;
...@@ -137,8 +142,10 @@ __do_global_dtors_aux () ...@@ -137,8 +142,10 @@ __do_global_dtors_aux ()
#ifdef EH_FRAME_SECTION_ASM_OP #ifdef EH_FRAME_SECTION_ASM_OP
__deregister_frame (__EH_FRAME_BEGIN__); __deregister_frame (__EH_FRAME_BEGIN__);
#endif #endif
completed = 1;
} }
/* Stick a call to __do_global_dtors_aux into the .fini section. */ /* Stick a call to __do_global_dtors_aux into the .fini section. */
static void static void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment