Re: Compiling daemontools
Dean Anderson <[email protected]> Wed, 21 Apr 2010 19:36:10 -0400 (EDT)
| Newsgroups | gmane.network.djbdns |
|---|---|
| Message-ID | <[email protected]> |
Laurent, That sounds like a good point, but I'm not sure what version of Unix you mean. System III? I don't think there was a written standard besides man pages until the System V SVID came out, and I can't remember if that was in the SVID. But I agree its always debatable to break old code, and I've always admired the IBM MVS/zOS compatibility demands. But this particular old code was probably a hazard. And Linux is relatively new and old Unix compatibilty seems not to be a goal of Linux. If it were, they could have taken the BSD4.3 net2 IP stack, the BSD4.4lite VFS layer, etc and saved themselves a ton of work and many bugs. NFS still doesn't work well on linux. Go figure. Speaking of code and ancient unix, (if you're not interested, don't read any further) I'm still hoping that SysV.2 and OSF/1 will get open-sourced for a belated 40th aniversery. You all might know that BSD 4.3 code was opened by Novell/Caldera, and runs quite nicely on SIMH vax simulator, as fast or faster than the real thing. But the the 4.3 distro available now isn't quite pristine from CSRG tape, but appears it was taken from a running system after being used/configured/etc. The Open Group is probably going to make a pristine copy of 4.3BSD src available. TOG also has a copy of Sys5.2 but for the vax only---someone deleted the ATT 3b2 directories between 1991 and 1996 or so (I didn't work for TOG those years--but it was there in 1991). OSF/1 is still encumbered by SysV.2 (includes V.2 filesystem code) and probably can't be fully released until Novell/Caldera gives a green light on SysV.2. But given that 4.3BSD is released, I'd think there should be little problem with releasing SysV.2 if someone asks nicely... --Dean On Tue, 20 Apr 2010, Laurent Bercot wrote: > > Yes. That is a obsolete method to link in errno. Multithreaded systems > > need errno to be thread-specific, and so the interface to errno was > > changed some time ago. There isn't an extern int errno anymore. The > > anachronism 'extern errno' shouldn't link on any system, and doesn't on > > most systems. But its a common thing found in older code. > > http://cr.yp.to/docs/unixport.html#errno > > Single Unix v3 states that #include <errno.h> is the right way to > declare errno, so future software should indeed conform to that, but > still, maintaining "extern int errno" compatibility for single-threaded > programs wasn't hard and breaking it forcefully is a debatable design > decision from the glibc maintainers. > > (If only that was their only debatable design decision. :)) > > -- Av8 Internet Prepared to pay a premium for better service? www.av8.net faster, more reliable, better service 617 256 5494