[Xenomai-git] Jan Kiszka : cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

2015-07-27 Thread git repository hosting
Module: xenomai-3
Branch: master
Commit: a9c523592e7d96ccf6bdc99df4e1cacf99f3b795
URL:
http://git.xenomai.org/?p=xenomai-3.git;a=commit;h=a9c523592e7d96ccf6bdc99df4e1cacf99f3b795

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Thu Jul  2 22:22:13 2015 +0200

cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

Avoid that information has to be provided multiple times, specifically
the sensitive syscall modes. For that purpose, both entry points and
modes are picked up by a script from COBALT_SYSCALL macros in all
kernel/cobalt/posix/*.c files. These are translated into entries for
both tables and filled into a generated header. syscall.c can then
include the header and use the accumulating macros __COBALT_CALL_ENTRIES
and __COBALT_CALL_MODES in its table definitions.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/posix/Makefile   |   12 ++
 kernel/cobalt/posix/gen-syscall-entries.sh |   32 +
 kernel/cobalt/posix/syscall.c  |  194 +---
 scripts/prepare-kernel.sh  |4 +-
 4 files changed, 50 insertions(+), 192 deletions(-)

diff --git a/kernel/cobalt/posix/Makefile b/kernel/cobalt/posix/Makefile
index 3049be4..2da764a 100644
--- a/kernel/cobalt/posix/Makefile
+++ b/kernel/cobalt/posix/Makefile
@@ -22,4 +22,16 @@ xenomai-y := \
timer.o \
timerfd.o
 
+syscall_entries := $(srctree)/$(src)/gen-syscall-entries.sh
+
+quiet_cmd_syscall_entries = GEN $@
+  cmd_syscall_entries = $(CONFIG_SHELL) '$(syscall_entries)' $^  $@
+
+$(obj)/syscall_entries.h: $(syscall_entries) $(wildcard $(srctree)/$(src)/*.c)
+   $(call if_changed,syscall_entries)
+
+target += syscall_entries.h
+
+$(obj)/syscall.o: $(obj)/syscall_entries.h
+
 xenomai-$(CONFIG_XENO_ARCH_SYS3264) += compat.o syscall32.o
diff --git a/kernel/cobalt/posix/gen-syscall-entries.sh 
b/kernel/cobalt/posix/gen-syscall-entries.sh
new file mode 100755
index 000..0f99fff
--- /dev/null
+++ b/kernel/cobalt/posix/gen-syscall-entries.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+set -e
+
+shift
+
+awk '
+match($0, /COBALT_SYSCALL\([^,]*,[ \t]*[^,]*/)  {
+   str=substr($0, RSTART + 15, RLENGTH - 15)
+   match(str, /[^, \t]*/)
+   syscall=substr(str, RSTART, RLENGTH)
+
+   if (syscall == ) {
+   print Failed to find syscall name in line  $0  /dev/stderr
+   exit 1
+   }
+
+   calls = calls  __COBALT_CALL_ENTRY( syscall ) \\\n
+   modes = modes  __COBALT_MODE( str ) \\\n
+   next
+}
+
+/COBALT_SYSCALL\(/  {
+   print Failed to parse line  $0  /dev/stderr
+   exit 1
+}
+
+END {
+   print #define __COBALT_CALL_ENTRIES \\\n calls   /* end */
+   print #define __COBALT_CALL_MODES \\\n modes /* end */
+}
+' $*
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 9677f41..a128dea 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -608,103 +608,11 @@ static int cobalt_ni(void)
 #include syscall32.h
 #endif
 
+#include syscall_entries.h
+
 static const cobalt_syshand cobalt_syscalls[] = {
__COBALT_CALL_NI
-   __COBALT_CALL_ENTRY(thread_create)
-   __COBALT_CALL_ENTRY(thread_getpid)
-   __COBALT_CALL_ENTRY(thread_setschedparam_ex)
-   __COBALT_CALL_ENTRY(thread_getschedparam_ex)
-   __COBALT_CALL_ENTRY(sched_weightprio)
-   __COBALT_CALL_ENTRY(sched_yield)
-   __COBALT_CALL_ENTRY(thread_setmode)
-   __COBALT_CALL_ENTRY(thread_setname)
-   __COBALT_CALL_ENTRY(thread_kill)
-   __COBALT_CALL_ENTRY(thread_getstat)
-   __COBALT_CALL_ENTRY(thread_join)
-   __COBALT_CALL_ENTRY(sem_init)
-   __COBALT_CALL_ENTRY(sem_destroy)
-   __COBALT_CALL_ENTRY(sem_post)
-   __COBALT_CALL_ENTRY(sem_wait)
-   __COBALT_CALL_ENTRY(sem_timedwait)
-   __COBALT_CALL_ENTRY(sem_trywait)
-   __COBALT_CALL_ENTRY(sem_getvalue)
-   __COBALT_CALL_ENTRY(sem_open)
-   __COBALT_CALL_ENTRY(sem_close)
-   __COBALT_CALL_ENTRY(sem_unlink)
-   __COBALT_CALL_ENTRY(sem_broadcast_np)
-   __COBALT_CALL_ENTRY(sem_inquire)
-   __COBALT_CALL_ENTRY(clock_getres)
-   __COBALT_CALL_ENTRY(clock_gettime)
-   __COBALT_CALL_ENTRY(clock_settime)
-   __COBALT_CALL_ENTRY(clock_nanosleep)
-   __COBALT_CALL_ENTRY(mutex_init)
-   __COBALT_CALL_ENTRY(mutex_check_init)
-   __COBALT_CALL_ENTRY(mutex_destroy)
-   __COBALT_CALL_ENTRY(mutex_lock)
-   __COBALT_CALL_ENTRY(mutex_timedlock)
-   __COBALT_CALL_ENTRY(mutex_trylock)
-   __COBALT_CALL_ENTRY(mutex_unlock)
-   __COBALT_CALL_ENTRY(cond_init)
-   __COBALT_CALL_ENTRY(cond_destroy)
-   __COBALT_CALL_ENTRY(cond_wait_prologue)
-   __COBALT_CALL_ENTRY(cond_wait_epilogue)
-   __COBALT_CALL_ENTRY(mq_open)
-   __COBALT_CALL_ENTRY(mq_close)
-   __COBALT_CALL_ENTRY(mq_unlink)
-   __COBALT_CALL_ENTRY(mq_getattr)
-   __COBALT_CALL_ENTRY(mq_timedsend)

[Xenomai-git] Jan Kiszka : cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

2015-07-20 Thread git repository hosting
Module: xenomai-jki
Branch: for-forge
Commit: 47ab03e5004c7a4da024c27b788f9bb2a7249ad2
URL:
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=47ab03e5004c7a4da024c27b788f9bb2a7249ad2

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Thu Jul  2 22:22:13 2015 +0200

cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

Avoid that information has to be provided multiple times, specifically
the sensitive syscall modes. For that purpose, both entry points and
modes are picked up by a script from COBALT_SYSCALL macros in all
kernel/cobalt/posix/*.c files. These are translated into entries for
both tables and filled into a generated header. syscall.c can then
include the header and use the accumulating macros __COBALT_CALL_ENTRIES
and __COBALT_CALL_MODES in its table definitions.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/posix/Makefile   |   12 ++
 kernel/cobalt/posix/gen-syscall-entries.sh |   32 +
 kernel/cobalt/posix/syscall.c  |  194 +---
 scripts/prepare-kernel.sh  |4 +-
 4 files changed, 50 insertions(+), 192 deletions(-)

diff --git a/kernel/cobalt/posix/Makefile b/kernel/cobalt/posix/Makefile
index 3049be4..2da764a 100644
--- a/kernel/cobalt/posix/Makefile
+++ b/kernel/cobalt/posix/Makefile
@@ -22,4 +22,16 @@ xenomai-y := \
timer.o \
timerfd.o
 
+syscall_entries := $(srctree)/$(src)/gen-syscall-entries.sh
+
+quiet_cmd_syscall_entries = GEN $@
+  cmd_syscall_entries = $(CONFIG_SHELL) '$(syscall_entries)' $^  $@
+
+$(obj)/syscall_entries.h: $(syscall_entries) $(wildcard $(srctree)/$(src)/*.c)
+   $(call if_changed,syscall_entries)
+
+target += syscall_entries.h
+
+$(obj)/syscall.o: $(obj)/syscall_entries.h
+
 xenomai-$(CONFIG_XENO_ARCH_SYS3264) += compat.o syscall32.o
diff --git a/kernel/cobalt/posix/gen-syscall-entries.sh 
b/kernel/cobalt/posix/gen-syscall-entries.sh
new file mode 100755
index 000..0f99fff
--- /dev/null
+++ b/kernel/cobalt/posix/gen-syscall-entries.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+set -e
+
+shift
+
+awk '
+match($0, /COBALT_SYSCALL\([^,]*,[ \t]*[^,]*/)  {
+   str=substr($0, RSTART + 15, RLENGTH - 15)
+   match(str, /[^, \t]*/)
+   syscall=substr(str, RSTART, RLENGTH)
+
+   if (syscall == ) {
+   print Failed to find syscall name in line  $0  /dev/stderr
+   exit 1
+   }
+
+   calls = calls  __COBALT_CALL_ENTRY( syscall ) \\\n
+   modes = modes  __COBALT_MODE( str ) \\\n
+   next
+}
+
+/COBALT_SYSCALL\(/  {
+   print Failed to parse line  $0  /dev/stderr
+   exit 1
+}
+
+END {
+   print #define __COBALT_CALL_ENTRIES \\\n calls   /* end */
+   print #define __COBALT_CALL_MODES \\\n modes /* end */
+}
+' $*
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 9677f41..a128dea 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -608,103 +608,11 @@ static int cobalt_ni(void)
 #include syscall32.h
 #endif
 
+#include syscall_entries.h
+
 static const cobalt_syshand cobalt_syscalls[] = {
__COBALT_CALL_NI
-   __COBALT_CALL_ENTRY(thread_create)
-   __COBALT_CALL_ENTRY(thread_getpid)
-   __COBALT_CALL_ENTRY(thread_setschedparam_ex)
-   __COBALT_CALL_ENTRY(thread_getschedparam_ex)
-   __COBALT_CALL_ENTRY(sched_weightprio)
-   __COBALT_CALL_ENTRY(sched_yield)
-   __COBALT_CALL_ENTRY(thread_setmode)
-   __COBALT_CALL_ENTRY(thread_setname)
-   __COBALT_CALL_ENTRY(thread_kill)
-   __COBALT_CALL_ENTRY(thread_getstat)
-   __COBALT_CALL_ENTRY(thread_join)
-   __COBALT_CALL_ENTRY(sem_init)
-   __COBALT_CALL_ENTRY(sem_destroy)
-   __COBALT_CALL_ENTRY(sem_post)
-   __COBALT_CALL_ENTRY(sem_wait)
-   __COBALT_CALL_ENTRY(sem_timedwait)
-   __COBALT_CALL_ENTRY(sem_trywait)
-   __COBALT_CALL_ENTRY(sem_getvalue)
-   __COBALT_CALL_ENTRY(sem_open)
-   __COBALT_CALL_ENTRY(sem_close)
-   __COBALT_CALL_ENTRY(sem_unlink)
-   __COBALT_CALL_ENTRY(sem_broadcast_np)
-   __COBALT_CALL_ENTRY(sem_inquire)
-   __COBALT_CALL_ENTRY(clock_getres)
-   __COBALT_CALL_ENTRY(clock_gettime)
-   __COBALT_CALL_ENTRY(clock_settime)
-   __COBALT_CALL_ENTRY(clock_nanosleep)
-   __COBALT_CALL_ENTRY(mutex_init)
-   __COBALT_CALL_ENTRY(mutex_check_init)
-   __COBALT_CALL_ENTRY(mutex_destroy)
-   __COBALT_CALL_ENTRY(mutex_lock)
-   __COBALT_CALL_ENTRY(mutex_timedlock)
-   __COBALT_CALL_ENTRY(mutex_trylock)
-   __COBALT_CALL_ENTRY(mutex_unlock)
-   __COBALT_CALL_ENTRY(cond_init)
-   __COBALT_CALL_ENTRY(cond_destroy)
-   __COBALT_CALL_ENTRY(cond_wait_prologue)
-   __COBALT_CALL_ENTRY(cond_wait_epilogue)
-   __COBALT_CALL_ENTRY(mq_open)
-   __COBALT_CALL_ENTRY(mq_close)
-   __COBALT_CALL_ENTRY(mq_unlink)
-   __COBALT_CALL_ENTRY(mq_getattr)
-   

[Xenomai-git] Jan Kiszka : cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

2015-07-17 Thread git repository hosting
Module: xenomai-jki
Branch: for-forge
Commit: 9e297aa3edcf73454524106346420061d10d1208
URL:
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=9e297aa3edcf73454524106346420061d10d1208

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Thu Jul  2 22:22:13 2015 +0200

cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

Avoid that information has to be provided multiple times, specifically
the sensitive syscall modes. For that purpose, both entry points and
modes are picked up by a script from COBALT_SYSCALL macros in all
kernel/cobalt/posix/*.c files. These are translated into entries for
both tables and filled into a generated header. syscall.c can then
include the header and use the accumulating macros __COBALT_CALL_ENTRIES
and __COBALT_CALL_MODES in its table definitions.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/posix/Makefile   |   12 ++
 kernel/cobalt/posix/gen-syscall-entries.sh |   32 +
 kernel/cobalt/posix/syscall.c  |  194 +---
 scripts/prepare-kernel.sh  |4 +-
 4 files changed, 50 insertions(+), 192 deletions(-)

diff --git a/kernel/cobalt/posix/Makefile b/kernel/cobalt/posix/Makefile
index 3049be4..2da764a 100644
--- a/kernel/cobalt/posix/Makefile
+++ b/kernel/cobalt/posix/Makefile
@@ -22,4 +22,16 @@ xenomai-y := \
timer.o \
timerfd.o
 
+syscall_entries := $(srctree)/$(src)/gen-syscall-entries.sh
+
+quiet_cmd_syscall_entries = GEN $@
+  cmd_syscall_entries = $(CONFIG_SHELL) '$(syscall_entries)' $^  $@
+
+$(obj)/syscall_entries.h: $(syscall_entries) $(wildcard $(srctree)/$(src)/*.c)
+   $(call if_changed,syscall_entries)
+
+target += syscall_entries.h
+
+$(obj)/syscall.o: $(obj)/syscall_entries.h
+
 xenomai-$(CONFIG_XENO_ARCH_SYS3264) += compat.o syscall32.o
diff --git a/kernel/cobalt/posix/gen-syscall-entries.sh 
b/kernel/cobalt/posix/gen-syscall-entries.sh
new file mode 100755
index 000..0f99fff
--- /dev/null
+++ b/kernel/cobalt/posix/gen-syscall-entries.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+set -e
+
+shift
+
+awk '
+match($0, /COBALT_SYSCALL\([^,]*,[ \t]*[^,]*/)  {
+   str=substr($0, RSTART + 15, RLENGTH - 15)
+   match(str, /[^, \t]*/)
+   syscall=substr(str, RSTART, RLENGTH)
+
+   if (syscall == ) {
+   print Failed to find syscall name in line  $0  /dev/stderr
+   exit 1
+   }
+
+   calls = calls  __COBALT_CALL_ENTRY( syscall ) \\\n
+   modes = modes  __COBALT_MODE( str ) \\\n
+   next
+}
+
+/COBALT_SYSCALL\(/  {
+   print Failed to parse line  $0  /dev/stderr
+   exit 1
+}
+
+END {
+   print #define __COBALT_CALL_ENTRIES \\\n calls   /* end */
+   print #define __COBALT_CALL_MODES \\\n modes /* end */
+}
+' $*
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 9677f41..a128dea 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -608,103 +608,11 @@ static int cobalt_ni(void)
 #include syscall32.h
 #endif
 
+#include syscall_entries.h
+
 static const cobalt_syshand cobalt_syscalls[] = {
__COBALT_CALL_NI
-   __COBALT_CALL_ENTRY(thread_create)
-   __COBALT_CALL_ENTRY(thread_getpid)
-   __COBALT_CALL_ENTRY(thread_setschedparam_ex)
-   __COBALT_CALL_ENTRY(thread_getschedparam_ex)
-   __COBALT_CALL_ENTRY(sched_weightprio)
-   __COBALT_CALL_ENTRY(sched_yield)
-   __COBALT_CALL_ENTRY(thread_setmode)
-   __COBALT_CALL_ENTRY(thread_setname)
-   __COBALT_CALL_ENTRY(thread_kill)
-   __COBALT_CALL_ENTRY(thread_getstat)
-   __COBALT_CALL_ENTRY(thread_join)
-   __COBALT_CALL_ENTRY(sem_init)
-   __COBALT_CALL_ENTRY(sem_destroy)
-   __COBALT_CALL_ENTRY(sem_post)
-   __COBALT_CALL_ENTRY(sem_wait)
-   __COBALT_CALL_ENTRY(sem_timedwait)
-   __COBALT_CALL_ENTRY(sem_trywait)
-   __COBALT_CALL_ENTRY(sem_getvalue)
-   __COBALT_CALL_ENTRY(sem_open)
-   __COBALT_CALL_ENTRY(sem_close)
-   __COBALT_CALL_ENTRY(sem_unlink)
-   __COBALT_CALL_ENTRY(sem_broadcast_np)
-   __COBALT_CALL_ENTRY(sem_inquire)
-   __COBALT_CALL_ENTRY(clock_getres)
-   __COBALT_CALL_ENTRY(clock_gettime)
-   __COBALT_CALL_ENTRY(clock_settime)
-   __COBALT_CALL_ENTRY(clock_nanosleep)
-   __COBALT_CALL_ENTRY(mutex_init)
-   __COBALT_CALL_ENTRY(mutex_check_init)
-   __COBALT_CALL_ENTRY(mutex_destroy)
-   __COBALT_CALL_ENTRY(mutex_lock)
-   __COBALT_CALL_ENTRY(mutex_timedlock)
-   __COBALT_CALL_ENTRY(mutex_trylock)
-   __COBALT_CALL_ENTRY(mutex_unlock)
-   __COBALT_CALL_ENTRY(cond_init)
-   __COBALT_CALL_ENTRY(cond_destroy)
-   __COBALT_CALL_ENTRY(cond_wait_prologue)
-   __COBALT_CALL_ENTRY(cond_wait_epilogue)
-   __COBALT_CALL_ENTRY(mq_open)
-   __COBALT_CALL_ENTRY(mq_close)
-   __COBALT_CALL_ENTRY(mq_unlink)
-   __COBALT_CALL_ENTRY(mq_getattr)
-   

[Xenomai-git] Jan Kiszka : cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

2015-07-16 Thread git repository hosting
Module: xenomai-jki
Branch: for-forge
Commit: b6982543662eca07d15b80fa757b1f5eb9af386d
URL:
http://git.xenomai.org/?p=xenomai-jki.git;a=commit;h=b6982543662eca07d15b80fa757b1f5eb9af386d

Author: Jan Kiszka jan.kis...@siemens.com
Date:   Thu Jul  2 22:22:13 2015 +0200

cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes

Avoid that information has to be provided multiple times, specifically
the sensitive syscall modes. For that purpose, both entry points and
modes are picked up by a script from COBALT_SYSCALL macros in all
kernel/cobalt/posix/*.c files. These are translated into entries for
both tables and filled into a generated header. syscall.c can then
include the header and use the accumulating macros __COBALT_CALL_ENTRIES
and __COBALT_CALL_MODES in its table definitions.

Signed-off-by: Jan Kiszka jan.kis...@siemens.com

---

 kernel/cobalt/posix/Makefile   |   12 ++
 kernel/cobalt/posix/gen-syscall-entries.sh |   32 +
 kernel/cobalt/posix/syscall.c  |  194 +---
 scripts/prepare-kernel.sh  |4 +-
 4 files changed, 50 insertions(+), 192 deletions(-)

diff --git a/kernel/cobalt/posix/Makefile b/kernel/cobalt/posix/Makefile
index 3049be4..2da764a 100644
--- a/kernel/cobalt/posix/Makefile
+++ b/kernel/cobalt/posix/Makefile
@@ -22,4 +22,16 @@ xenomai-y := \
timer.o \
timerfd.o
 
+syscall_entries := $(srctree)/$(src)/gen-syscall-entries.sh
+
+quiet_cmd_syscall_entries = GEN $@
+  cmd_syscall_entries = $(CONFIG_SHELL) '$(syscall_entries)' $^  $@
+
+$(obj)/syscall_entries.h: $(syscall_entries) $(wildcard $(srctree)/$(src)/*.c)
+   $(call if_changed,syscall_entries)
+
+target += syscall_entries.h
+
+$(obj)/syscall.o: $(obj)/syscall_entries.h
+
 xenomai-$(CONFIG_XENO_ARCH_SYS3264) += compat.o syscall32.o
diff --git a/kernel/cobalt/posix/gen-syscall-entries.sh 
b/kernel/cobalt/posix/gen-syscall-entries.sh
new file mode 100755
index 000..0f99fff
--- /dev/null
+++ b/kernel/cobalt/posix/gen-syscall-entries.sh
@@ -0,0 +1,32 @@
+#! /bin/sh
+
+set -e
+
+shift
+
+awk '
+match($0, /COBALT_SYSCALL\([^,]*,[ \t]*[^,]*/)  {
+   str=substr($0, RSTART + 15, RLENGTH - 15)
+   match(str, /[^, \t]*/)
+   syscall=substr(str, RSTART, RLENGTH)
+
+   if (syscall == ) {
+   print Failed to find syscall name in line  $0  /dev/stderr
+   exit 1
+   }
+
+   calls = calls  __COBALT_CALL_ENTRY( syscall ) \\\n
+   modes = modes  __COBALT_MODE( str ) \\\n
+   next
+}
+
+/COBALT_SYSCALL\(/  {
+   print Failed to parse line  $0  /dev/stderr
+   exit 1
+}
+
+END {
+   print #define __COBALT_CALL_ENTRIES \\\n calls   /* end */
+   print #define __COBALT_CALL_MODES \\\n modes /* end */
+}
+' $*
diff --git a/kernel/cobalt/posix/syscall.c b/kernel/cobalt/posix/syscall.c
index 9677f41..a128dea 100644
--- a/kernel/cobalt/posix/syscall.c
+++ b/kernel/cobalt/posix/syscall.c
@@ -608,103 +608,11 @@ static int cobalt_ni(void)
 #include syscall32.h
 #endif
 
+#include syscall_entries.h
+
 static const cobalt_syshand cobalt_syscalls[] = {
__COBALT_CALL_NI
-   __COBALT_CALL_ENTRY(thread_create)
-   __COBALT_CALL_ENTRY(thread_getpid)
-   __COBALT_CALL_ENTRY(thread_setschedparam_ex)
-   __COBALT_CALL_ENTRY(thread_getschedparam_ex)
-   __COBALT_CALL_ENTRY(sched_weightprio)
-   __COBALT_CALL_ENTRY(sched_yield)
-   __COBALT_CALL_ENTRY(thread_setmode)
-   __COBALT_CALL_ENTRY(thread_setname)
-   __COBALT_CALL_ENTRY(thread_kill)
-   __COBALT_CALL_ENTRY(thread_getstat)
-   __COBALT_CALL_ENTRY(thread_join)
-   __COBALT_CALL_ENTRY(sem_init)
-   __COBALT_CALL_ENTRY(sem_destroy)
-   __COBALT_CALL_ENTRY(sem_post)
-   __COBALT_CALL_ENTRY(sem_wait)
-   __COBALT_CALL_ENTRY(sem_timedwait)
-   __COBALT_CALL_ENTRY(sem_trywait)
-   __COBALT_CALL_ENTRY(sem_getvalue)
-   __COBALT_CALL_ENTRY(sem_open)
-   __COBALT_CALL_ENTRY(sem_close)
-   __COBALT_CALL_ENTRY(sem_unlink)
-   __COBALT_CALL_ENTRY(sem_broadcast_np)
-   __COBALT_CALL_ENTRY(sem_inquire)
-   __COBALT_CALL_ENTRY(clock_getres)
-   __COBALT_CALL_ENTRY(clock_gettime)
-   __COBALT_CALL_ENTRY(clock_settime)
-   __COBALT_CALL_ENTRY(clock_nanosleep)
-   __COBALT_CALL_ENTRY(mutex_init)
-   __COBALT_CALL_ENTRY(mutex_check_init)
-   __COBALT_CALL_ENTRY(mutex_destroy)
-   __COBALT_CALL_ENTRY(mutex_lock)
-   __COBALT_CALL_ENTRY(mutex_timedlock)
-   __COBALT_CALL_ENTRY(mutex_trylock)
-   __COBALT_CALL_ENTRY(mutex_unlock)
-   __COBALT_CALL_ENTRY(cond_init)
-   __COBALT_CALL_ENTRY(cond_destroy)
-   __COBALT_CALL_ENTRY(cond_wait_prologue)
-   __COBALT_CALL_ENTRY(cond_wait_epilogue)
-   __COBALT_CALL_ENTRY(mq_open)
-   __COBALT_CALL_ENTRY(mq_close)
-   __COBALT_CALL_ENTRY(mq_unlink)
-   __COBALT_CALL_ENTRY(mq_getattr)
-