cvs commit: src/sys/kern kern_context.c
Daniel Eischen
eischen at pcnet1.pcnet.com
Tue Apr 1 17:05:04 PST 2003
On Tue, 1 Apr 2003, Daniel Eischen wrote:
> On Tue, 1 Apr 2003, Jake Burkholder wrote:
> > Yes, I see what you mean. The problem on sparc64 is that the arguments
> > setup in makecontext get clobbered. They're passed in the same registers
> > as the return value for the system call, so when syscall copies td_retval
> > into the registers it clobbers the arguments that were set. I can hack
> > around it by just copying the registers that would be clobbered into
> > td_retval if that would work better. execve has the same problem, we
> > use the above hack there.
>
> I think the changes you made are correct; swapcontext() and
> setcontext() now return EJUSTRETURN if there were no errors.
> But we just need to fix getcontext() so that it clears the
and swapcontext() too.
> return value registers in the mcontext. This needs to be
> an option, though, because other uses of get_mcontext don't
> want that behaviour.
>
> This would still work on sparc64, right? Unless I am
> misunderstanding something.
--
Dan Eischen
More information about the cvs-src
mailing list