Hans-Peter Nilsson
2018-09-05 10:34:55 UTC
These pthread_mutex_t were obviously meant to be
__gthread_mutex_t. See other declarations. Not being that,
broke cris-elf build at r264070, restored with this patch. Also
regtested on native x86_64-pc-linux-gnu.
I'm not sure know why no other bare-iron target saw this, but
perhaps it's because my newlib is a bit dated (...looks... yes,
looks like newlib has grown pthreads since then, but that
doesn't excuse this flaw). Still, there may be other similar
flaws behind #ifdefs, this is just a build-fixing patch.
Committed as obvious.
libgfortran:
* io/async.h: Use __gthread_mutex_t, not pthread_mutex_t.
Index: libgfortran/io/async.h
===================================================================
--- libgfortran/io/async.h (revision 264070)
+++ libgfortran/io/async.h (working copy)
@@ -337,8 +337,8 @@ struct adv_cond
typedef struct async_unit
{
- pthread_mutex_t io_lock; /* Lock for doing actual I/O. */
- pthread_mutex_t lock; /* Lock for manipulating the queue structure. */
+ __gthread_mutex_t io_lock; /* Lock for doing actual I/O. */
+ __gthread_mutex_t lock; /* Lock for manipulating the queue structure. */
bool empty;
struct
{
brgds, H-P
__gthread_mutex_t. See other declarations. Not being that,
broke cris-elf build at r264070, restored with this patch. Also
regtested on native x86_64-pc-linux-gnu.
I'm not sure know why no other bare-iron target saw this, but
perhaps it's because my newlib is a bit dated (...looks... yes,
looks like newlib has grown pthreads since then, but that
doesn't excuse this flaw). Still, there may be other similar
flaws behind #ifdefs, this is just a build-fixing patch.
Committed as obvious.
libgfortran:
* io/async.h: Use __gthread_mutex_t, not pthread_mutex_t.
Index: libgfortran/io/async.h
===================================================================
--- libgfortran/io/async.h (revision 264070)
+++ libgfortran/io/async.h (working copy)
@@ -337,8 +337,8 @@ struct adv_cond
typedef struct async_unit
{
- pthread_mutex_t io_lock; /* Lock for doing actual I/O. */
- pthread_mutex_t lock; /* Lock for manipulating the queue structure. */
+ __gthread_mutex_t io_lock; /* Lock for doing actual I/O. */
+ __gthread_mutex_t lock; /* Lock for manipulating the queue structure. */
bool empty;
struct
{
brgds, H-P