]> rtime.felk.cvut.cz Git - fpga/lx-cpu1/gcc-tumbl.git/commitdiff
* mf-runtime.c (__mf_state_1): Initialize to reentrant.
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 Aug 2005 19:38:34 +0000 (19:38 +0000)
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 14 Aug 2005 19:38:34 +0000 (19:38 +0000)
(__mf_init): Set thread state active.
* mf-hooks3.c (__mf_pthread_spawner): Always set thread
state active.
(pthread_create wrapper): Always use thread spawner.

* testsuite/libmudflap.cth/pass37-frag.c: Increase timeout.
* testsuite/libmudflap.cth/pass39-frag.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103084 138bc75d-0d04-0410-961f-82ee72b054a4

libmudflap/ChangeLog
libmudflap/mf-hooks3.c
libmudflap/mf-runtime.c
libmudflap/testsuite/libmudflap.cth/pass37-frag.c
libmudflap/testsuite/libmudflap.cth/pass39-frag.c

index f9f13800468d762da51dfc43af8849aeaed63b99..ad616633dcb3241ba809b3fb3d12bde22d56bc45 100644 (file)
@@ -1,3 +1,14 @@
+2005-08-14  Ulrich Weigand  <weigand@informatik.uni-erlangen.de>
+
+       * mf-runtime.c (__mf_state_1): Initialize to reentrant.
+       (__mf_init): Set thread state active.
+       * mf-hooks3.c (__mf_pthread_spawner): Always set thread
+       state active.
+       (pthread_create wrapper): Always use thread spawner.
+
+       * testsuite/libmudflap.cth/pass37-frag.c: Increase timeout.
+       * testsuite/libmudflap.cth/pass39-frag.c: Likewise.
+
 2005-07-16  Richard Henderson  <rth@redhat.com>
 
        * acinclude.m4: New file.
index f3006b20fe08b1b53a079b9d0a4692a88aa1e8cf..73a7f717131851dc23d06a12dab0c4eae035c46c 100644 (file)
@@ -245,9 +245,7 @@ __mf_pthread_spawner (void *arg)
 {
   void *result = NULL;
 
-#ifndef HAVE_TLS
   __mf_set_state (active);
-#endif
 
   /* NB: We could use __MF_TYPE_STATIC here, but we guess that the thread
      errno is coming out of some dynamically allocated pool that we already
@@ -291,31 +289,15 @@ __mf_0fn_pthread_create (pthread_t *thr, const pthread_attr_t *attr,
 WRAPPER(int, pthread_create, pthread_t *thr, const pthread_attr_t *attr,
         void * (*start) (void *), void *arg)
 {
-  int result, need_wrapper = 0;
+  struct mf_thread_start_info *si;
 
   TRACE ("pthread_create\n");
 
-#ifndef HAVE_TLS
-  need_wrapper = 1;
-#endif
-  need_wrapper |= __mf_opts.heur_std_data != 0;
-
-  if (need_wrapper)
-    {
-      struct mf_thread_start_info *si = CALL_REAL (malloc, sizeof (*si));
-
-      /* Fill in startup-control fields.  */
-      si->user_fn = start;
-      si->user_arg = arg;
+  /* Fill in startup-control fields.  */
+  si = CALL_REAL (malloc, sizeof (*si));
+  si->user_fn = start;
+  si->user_arg = arg;
 
-      /* Actually create the thread.  */
-      result = CALL_REAL (pthread_create, thr, attr, __mf_pthread_spawner, si);
-    }
-  else
-    {
-      /* If we're not handling heur_std_data, nothing special to do.  */
-      result = CALL_REAL (pthread_create, thr, attr, start, arg);
-    }
-
-  return result;
+  /* Actually create the thread.  */
+  return CALL_REAL (pthread_create, thr, attr, __mf_pthread_spawner, si);
 }
index af584e773d938789abefaf8530b29c98efbb06ac..e6901650975735fa257fb62726070ab37d5d96b5 100644 (file)
@@ -178,10 +178,10 @@ int __mf_starting_p = 1;
 
 #ifdef LIBMUDFLAPTH
 #ifdef HAVE_TLS
-__thread enum __mf_state_enum __mf_state_1 = active;
+__thread enum __mf_state_enum __mf_state_1 = reentrant;
 #endif
 #else
-enum __mf_state_enum __mf_state_1 = active;
+enum __mf_state_enum __mf_state_1 = reentrant;
 #endif
 
 #ifdef LIBMUDFLAPTH
@@ -697,6 +697,8 @@ __mf_init ()
 #endif
   __mf_starting_p = 0;
 
+  __mf_set_state (active);
+
   __mf_set_default_options ();
 
   ov = getenv ("MUDFLAP_OPTIONS");
index bfa2c7c02ab7883a9d5eeb2d7bbac9f049558505..877803c1ea028489384c8fdbf08e04bf9e9fb070 100644 (file)
@@ -55,4 +55,4 @@ int main ()
 
 /* { dg-output "100 100 100 100 100 100 100 100 100 100" } */
 /* { dg-repetitions 20 } */
-/* { dg-timeout 3 } */
+/* { dg-timeout 10 } */
index eb3449e9d8bcd3d9de17d2922fe77644a413d7f3..cd3eb5abdafb61b03733c9c1a3a7663c03ee1feb 100644 (file)
@@ -54,4 +54,4 @@ int main ()
 }
 /* { dg-output "100 100 100 100 100 100 100 100 100 100" } */
 /* { dg-repetitions 20 } */
-/* { dg-timeout 3 } */
+/* { dg-timeout 10 } */