tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

RFC: setjmp/longjmp (and friends) for a new port




In adding support for MIPS64 environments to NetBSD, a lot of the work is just adapting the existing to nuances of new MIPS ABIs. Trying to make minimal changes when possible is usually the best way to go. But sometimes, a radical may be in order.

MIPS under NetBSD has always a jmp_buf that was a struct sigcontext. Changing that for the existing code is almost impossible since you have to live with the size limits of a jmp_buf. But a new port doesn't have to worry about that, since there is no existing code to be compatible with.

So I'm thinking that in MIPS64, setjmp/longjmp can just be versions of getcontext/setcontext. longjmp need to be able to set the return value, but that's a minor variation.

Can anyone think of valid reasons not do that?


Home | Main Index | Thread Index | Old Index