public inbox for newlib@sourceware.org
 help / color / mirror / Atom feed
* [PATCH] libgloss: sparc_leon: workaround newer newlib pthread APIs
@ 2023-12-30  2:04 Mike Frysinger
  0 siblings, 0 replies; only message in thread
From: Mike Frysinger @ 2023-12-30  2:04 UTC (permalink / raw)
  To: newlib

Fix a compile error due to duplicate pthreads types:
.../libgloss/sparc_leon/mutex.c:50:8: error: conflicting types for ‘pthread_mutex_t’; have ‘struct pthread_mutex’
   50 |      } pthread_mutex_t;
In file included from .../newlib/libc/include/sys/types.h:221,
                 from .../libgloss/sparc_leon/mutex.c:26:
.../newlib/libc/include/sys/_pthreadtypes.h:154:20: note: previous declaration of ‘pthread_mutex_t’ with type ‘pthread_mutex_t’ {aka ‘long unsigned int’}
  154 | typedef __uint32_t pthread_mutex_t;      /* identify a mutex */

.../libgloss/sparc_leon/mutex.c:57:8: error: conflicting types for ‘pthread_mutexattr_t’; have ‘struct <anonymous>’
   57 |      } pthread_mutexattr_t;
../newlib/libc/include/sys/_pthreadtypes.h:169:3: note: previous declaration of ‘pthread_mutexattr_t’ with type ‘pthread_mutexattr_t’
  169 | } pthread_mutexattr_t;
---
 libgloss/sparc_leon/mutex.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libgloss/sparc_leon/mutex.c b/libgloss/sparc_leon/mutex.c
index eb2c2996d4fa..3f51fead31f2 100644
--- a/libgloss/sparc_leon/mutex.c
+++ b/libgloss/sparc_leon/mutex.c
@@ -23,9 +23,13 @@
  */
 
 
+#define pthread_mutex_t pthread_mutex_t_
+#define pthread_mutexattr_t pthread_mutexattr_t_
 #include <sys/types.h>
 #include <sys/lock.h>
 #include <asm-leon/queue.h>
+#undef pthread_mutex_t
+#undef pthread_mutexattr_t
 /*#include <sys/fsu_pthread_mutex.h>*/
 
 typedef int pthread_protocol_t;
-- 
2.43.0


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-30  2:04 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-30  2:04 [PATCH] libgloss: sparc_leon: workaround newer newlib pthread APIs Mike Frysinger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).