libgloss: sparc_leon: workaround newer newlib pthread APIs
Commit Message
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(+)
@@ -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;