mirror of git://gcc.gnu.org/git/gcc.git
backport: re PR libgomp/67141 (wrong libgomp mutex initialisation order)
2015-09-22 Chung-Lin Tang <cltang@codesourcery.com> Backport from mainline: 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: r228011
This commit is contained in:
parent
61cef8a14c
commit
0ee5fd6fe3
|
|
@ -1,3 +1,14 @@
|
||||||
|
2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
|
||||||
|
|
||||||
|
Backport from mainline:
|
||||||
|
|
||||||
|
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-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
|
2015-08-24 Joost VandeVondele <vondele@gnu.gcc.org>
|
||||||
|
|
||||||
PR libgomp/66761
|
PR libgomp/66761
|
||||||
|
|
|
||||||
|
|
@ -82,8 +82,8 @@ static struct gomp_device_descr host_dispatch =
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Register this device type. */
|
/* 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);
|
||||||
goacc_register (&host_dispatch);
|
goacc_register (&host_dispatch);
|
||||||
|
|
|
||||||
|
|
@ -580,6 +580,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);
|
||||||
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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue