Commit 6bb4c3e2 by Chung-Lin Tang Committed by Chung-Lin Tang

re PR libgomp/67141 (wrong libgomp mutex initialisation order)

2015-09-22  Chung-Lin Tang  <cltang@codesourcery.com>

	PR libgomp/67141
	* oacc-int.h (goacc_host_init): Add declaration.
	* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
	* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.

From-SVN: r227994
parent dc2a24ed
2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
PR libgomp/67141
* oacc-int.h (goacc_host_init): Add declaration.
* oacc-host.c (goacc_host_init): Remove static and constructor attribute.
* oacc-init.c (goacc_runtime_initialize): Call goacc_host_init() at end.
2015-09-08 Aditya Kumar <hiraditya@msn.com> 2015-09-08 Aditya Kumar <hiraditya@msn.com>
Sebastian Pop <s.pop@samsung.com> Sebastian Pop <s.pop@samsung.com>
......
...@@ -256,7 +256,7 @@ static struct gomp_device_descr host_dispatch = ...@@ -256,7 +256,7 @@ static struct gomp_device_descr host_dispatch =
}; };
/* Initialize and register this device type. */ /* Initialize and register this device type. */
static __attribute__ ((constructor)) void void
goacc_host_init (void) goacc_host_init (void)
{ {
gomp_mutex_init (&host_dispatch.lock); gomp_mutex_init (&host_dispatch.lock);
......
...@@ -644,6 +644,9 @@ goacc_runtime_initialize (void) ...@@ -644,6 +644,9 @@ goacc_runtime_initialize (void)
goacc_threads = NULL; goacc_threads = NULL;
gomp_mutex_init (&goacc_thread_lock); gomp_mutex_init (&goacc_thread_lock);
/* Initialize and register the 'host' device type. */
goacc_host_init ();
} }
/* Compiler helper functions */ /* Compiler helper functions */
......
...@@ -97,6 +97,7 @@ void goacc_runtime_initialize (void); ...@@ -97,6 +97,7 @@ void goacc_runtime_initialize (void);
void goacc_save_and_set_bind (acc_device_t); void goacc_save_and_set_bind (acc_device_t);
void goacc_restore_bind (void); void goacc_restore_bind (void);
void goacc_lazy_initialize (void); void goacc_lazy_initialize (void);
void goacc_host_init (void);
#ifdef HAVE_ATTRIBUTE_VISIBILITY #ifdef HAVE_ATTRIBUTE_VISIBILITY
# pragma GCC visibility pop # pragma GCC visibility pop
......
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