svn commit: r219559 - in head/sys: amd64/linux32
compat/freebsd32 i386/linux kern
Artem Belevich
fbsdlist at src.cx
Sun Mar 13 06:47:12 UTC 2011
> I assume this also includes syscall provider support for linux syscalls
> on i386. Some questions below.
Yes.
>
>> Modified: head/sys/i386/linux/syscalls.master
>> - l_handler_t handler); }
>> + void *handler); }
>
> What's wrong with l_handler_t?
I don't recall the details, but I believe that the way l_handler_t is
defined resulted in compilation errors in generated glue code. Glue
generation code relies on '*' before the argument name in order to
tell scalars from pointers. l_handler_t was interpreted as a scalar
and on i386 where l_handler_t is a pointer, it produced compilation
warning.
>
>> @@ -148,7 +148,7 @@
>> struct timeval *tp, \
>> struct timezone *tzp); }
>> 79 AUE_SETTIMEOFDAY NOPROTO { int
>> settimeofday( \
>> - struct timeval *tp, \
>> + struct timeval *tv, \
>
> What's wrong with tp?
settimeofday_args has the field named tv. With the argument named tp
in the syscalls.master, the glue code generated for systrace provider
would attempt to use settimeofday_args->tp and that does not compile.
We rely on syscall argument names in syscall.master to match field
names in appropriate <syscall_name>_args.
--Artem
More information about the svn-src-all
mailing list