On Fri, 15 Feb 2002, Daniel Eischen wrote:

> Finally getting buildworld to work again...
>
> More problems in the kernel though.  ucontext_t is used as a
> parameter to sigreturn (and getsetcontext soon), so it is
> referenced in <sys/sysproto.h>.  Lots of stuff includes
> <sys/sysproto.h>.  Do we,
>
>   a) Include <sys/ucontext.h> conditionally from
>      <sys/signal.h> based on _KERNEL, or
>   b) Change makesyscalls.sh to emit #include\t<sys/ucontext.h>
>      when generating sysproto.h, or,
>   c) Add includes for <sys/ucontext.h> to all files that
>      include <sys/sysproto.h>

None of the above)  Change syscalls.master in the same way as <signal.h>
to use "struct __ucontext *" instead of "ucontext_t *", and maybe
forward-declare "struct __ucontext" in <sys/signal.h> so that sysproto.h
can see it (sysproto.h really shouldn't include <sys/signal.h>, but it
doesn, and I think the forward declaration isn't be automatically
generated [yet?]).

If you change the sigreturn line in syscalls.master, please fix the name
of the parameter there and in the functions (it is still sigcntxp,
but should have been scp and should now be ucp).  Also try adding `const'.
Almost all of the pointers to input parameters in syscalls.master are
missing `const' and adding them tends to require const poisoning all
over the kernel, but `const' should be used for at least syscalls newer
than C90.

Bruce


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message

Reply via email to