On Mon, Sep 29, 2008 at 06:08:54PM +0400, Valeriy E. Ushakov wrote: > On Mon, Sep 29, 2008 at 15:34:57 +0200, Alan Barrett wrote: > > > On Mon, 29 Sep 2008, Andrew Doran wrote: > > > The "compatibility problem" is a myth. > > > > You have a workaround, in which a special libpthread hides the > > incompatibility that remains present at the syscall level. This > > workaround may be good enough for many purposes, but it's still not > > fair to call the compatibility problem a "myth". > > That can we start by defining exactly what are the relevant scenarios? > > If NetBSD 3.x or 4.x userland can work on NetBSD 5.0 kernel provided > that compatibility libpthread is present (that does not conflict with > 3.x/4.x libpthread) - does that addresses typical upgrade scenarios > that people mentioned? It brings the effort from dropping in 3 libraries to just 1, and adds the possibility to switch back to a 4.0; it appears as reasonable to me. > Do I get it right that instead of just dropping in a 5.0 kernel, they > will have to also add a compat library and a line to ld.so.conf, after > which the old userland (with new compat libpthread thrown in) can run > either on the old kernel (using old libpthread) or on the new kernel > (using new compat libpthread)? That's how I understand it, too. > While system-call level compatibility would be nice in theory, if we > compare costs and benefits, I'd say that drop-in, non-conflicting > compat libpthread looks like a way more desirable solution. It > unblocks 5.0 release *now*, it doesn't require changes to the kernel, > it doesn't require those (non-introduced) changes to support SA > syscalls to be maintained and then phased out, etc... I tend to agree, but I have to say the ucontext thing kind of put me off on the whole revivesa thing. There's one non-upgrade scenario that nobody (i think) has considered in that thread: often we get PRs from people who use a release, and usually the user is asked to try a -current kernel at some point, either to check if the issue is already fixed, or after someone thinks it has been fixed. One way around that is to push that compat library into -3 and -4. That would make future upgrade easier anyway. The main issue with that approach is that it will have to be very carefully documented, and I don't think just adding a paragraph in the release notes will be enough. -- Quentin Garnier - cube%cubidou.net@localhost - cube%NetBSD.org@localhost "See the look on my face from staying too long in one place [...] every time the morning breaks I know I'm closer to falling" KT Tunstall, Saving My Face, Drastic Fantastic, 2007.
Attachment:
pgpLPdT1mOXMR.pgp
Description: PGP signature