[Xenomai-git] Jan Kiszka : cobalt/kernel: Generate cobalt_syscalls and cobalt_sysmodes
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
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
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
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) -