On 14/05/14 15:49, Justin Cormack wrote: > Just to understand the state of compatibility and rump kernels. > > rump_syscalls.h has never had any compatibility syscalls in it, so the > only way you could actually use them was through directly calling > rump___sysimpl_XXX. The only user of that was probably ljsyscall, > mainly by mistake calling the wrong versions. Well technically might > still use it on NetBSD if you have are running current rump on NetBSD > 6, as this case is still slightly odd, but there are so few changed > syscalls that it is not really an issue, and I could change this. > There is no way currently to call compat calls from rumprun. There are > no rump based tests of compat calls, only of current ones.
In my view, a compat syscall is one where the API remains the same while the ABI changes. Rump kernels have definitely supported this, see rump_syscalls_compat.h. I did most of the development of rump kernels on NetBSD 5 (without 64bit time_t) for NetBSD-current (with 64bit time_t), and I can say that the compat "just worked". NetBSD also provides a few compat syscalls where the API changes. I'm not sure what's the point, you might just as well give the new syscall a completely different name. These were not supported. Note, rump kernel syscall compat is a bit different from regular syscall compat. In the regular case, you've built a binary ages ago and want it to work on newer systems. With rump kernels, at least how I designed it, it's that you're using an older NetBSD system and want to build against a -current rump kernel now. There's no easy way to make compat calls from rumprun because there's no NetBSD-5 rumprun ;) (and I'm not convinced that creating one is a priority) > If you wanted to test compat calls, it would probably be much easier > to do it by loading a module like Linux compat does which replaced the > syscalls; then you could test eg with ljsyscall. Loading or not loading kernelside modules doesn't have any impact on rump_syscalls.h. I'm not convinced that frobbing the syscall vector will solve problems in any direction (but don't want to discourage anyone from trying ;) ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ rumpkernel-users mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/rumpkernel-users
