unknown type name 'cpu_set_t' in newlib/libc/include/sched.h
Mon Aug 12 10:16:00 GMT 2019
On Aug 12 11:05, Giacomo Tesio wrote:
> On Monday, 12 August 2019, Corinna Vinschen <email@example.com> wrote:
> > On Aug 12 02:28, Giacomo Tesio wrote:
> >> Hello everybody,
> >> apparently commit 383e19ca552234fa9af47e80cb00d843a96de9e3 moved the
> >> cpu_set_t typedef from newlib/libc/include/sched.h to cygwin specific
> >> stuff, but left a few functions using such type behind and
> >> unprotected.
> >> Is it intended?
> > Probably not, if it leads to build errors on non-Cygwin, non-RTEMS.
> > Does it?
> Yes it produce build errore in my os port because I don't have it defined
> You could either protect the functions with an ifdef or move back the
> typedef to sched.h
I'd propose this patch:
From d192727fee2f85fcc7eb78c7cb09963a7b663d5a Mon Sep 17 00:00:00 2001
From: Corinna Vinschen <firstname.lastname@example.org>
Date: Mon, 12 Aug 2019 12:13:20 +0200
Subject: [PATCH] sched.h: Declare affinity functions only on targets
newlib/libc/include/sched.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/newlib/libc/include/sched.h b/newlib/libc/include/sched.h
index 79b775e220c7..31599aa7e6ca 100644
@@ -93,10 +93,16 @@ int sched_yield( void );
+/* The following functions should only be declared if the type
+ cpu_set_t is defined through indirect inclusion of sys/cpuset.h,
+ only available on some targets. */
int sched_getaffinity (pid_t, size_t, cpu_set_t *);
int sched_get_thread_affinity (void *, size_t, cpu_set_t *);
int sched_setaffinity (pid_t, size_t, const cpu_set_t *);
int sched_set_thread_affinity (void *, size_t, const cpu_set_t *);
+#endif /* _SYS_CPUSET_H_ */
Please test or suggest an alternative.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 833 bytes
Desc: not available
More information about the Newlib