strace 3.0 and 1.3 kernel

Stephen Lee (
Sat, 22 Jul 1995 04:03:24 -0400

I was compiling strace 3.0 on my 1.3.11 system, and found the following


syscall.c:480: `ERESTARTSYS' undeclared (first use this function)
syscall.c:483: `ERESTARTNOINTR' undeclared (first use this function)
syscall.c:486: `ERESTARTNOHAND' undeclared (first use this function)

Are these used anywhere else apart from the kernel? I guess I can live
with -D__KERNEL__ for this one...


sys_semget(), sys_semctl(), etc. are prototyped in <linux/sem.h> which is
included in <sys/sem.h>. This clashes with the function of the same name
in strace. I don't know if sys_* belongs to the implementor's name space,
but even if it does, wouldn't it be a better idea to enclose them with
#ifdef __KERNEL__? The same goes for sys_msg* and sys_shm*.


Stephen Lee