From 350e362a6e0c9f0b3b6fc814299b9a807201c4ac Mon Sep 17 00:00:00 2001 From: fche Date: Thu, 15 Jul 2004 17:33:23 +0000 Subject: * Fix for g++/15861 2004-07-15 Frank Ch. Eigler g++/15861 * mf-runtime.c (__mf_init): Make it non-static. Tolerate repeated invocation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84761 138bc75d-0d04-0410-961f-82ee72b054a4 --- libmudflap/mf-runtime.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'libmudflap/mf-runtime.c') diff --git a/libmudflap/mf-runtime.c b/libmudflap/mf-runtime.c index f1cd0a22db7..332b9c2eebf 100644 --- a/libmudflap/mf-runtime.c +++ b/libmudflap/mf-runtime.c @@ -206,7 +206,7 @@ static __mf_object_t *__mf_object_cemetary[__MF_TYPE_MAX_CEM+1][__MF_PERSIST_MAX /* ------------------------------------------------------------------------ */ /* Forward function declarations */ -static void __mf_init () CTOR; +void __mf_init () CTOR; static void __mf_sigusr1_respond (); static unsigned __mf_find_objects (uintptr_t ptr_low, uintptr_t ptr_high, __mf_object_t **objs, unsigned max_objs); @@ -615,11 +615,15 @@ __mf_object_tree (int type) } -void +/* not static */void __mf_init () { char *ov = 0; + /* Return if initialization has already been done. */ + if (LIKELY (__mf_starting_p == 0)) + return; + /* This initial bootstrap phase requires that __mf_starting_p = 1. */ #ifdef PIC __mf_resolve_dynamics (); -- cgit v1.2.1