Posted Sep 23, 2004 18:33 UTC (Thu) by allesfresser (subscriber, #216)
[Link]
Thanks Greg! Great summary. But one little question (not a disagreement necessarily): is the old a.out (pre-ELF) code going away? I seem to recall someone saying that it would be removed in 2.6 sometime... this would break compatibility with stuff before the ELF switchover. (I know there are very few instances of these being necessary at this point, of course, and I run my kernels with the a.out code disabled, but just checking...)
Question (re: a.out compatibility)
Posted Sep 23, 2004 19:24 UTC (Thu) by gregkh (subscriber, #8)
[Link]
Nope, CONFIG_BINFMT_AOUT is still there, and I haven't heard any rumors
of it being deleted anytime in the future.
But I don't really pay attention to that part of the kernel :)
Rebuttal by a Linux kernel developer
Posted Sep 23, 2004 22:10 UTC (Thu) by khim (subscriber, #9252)
[Link]
Applications written for Linux 1.0 work just fine on the 2.6 kernel.
Now, this is just plain wrong. Any applications ? No chance in hell: there were quite a few changes in userspace visible API (even if you'll forget about things like procfs and devfs). Take a look on linux/arch/i386/kernel/entry.S :
.long sys_ni_syscall /* old break syscall holder */
.long sys_ni_syscall /* old stty syscall holder */
.long sys_ni_syscall /* old gtty syscall holder */
.long sys_ni_syscall /* old ftime syscall holder */
.long sys_ni_syscall /* old prof syscall holder */
.long sys_ni_syscall /* old lock syscall holder */
.long sys_ni_syscall /* old mpx syscall holder */
.long sys_ni_syscall /* old ulimit syscall holder */
.long sys_ni_syscall /* old profil syscall holder */
.long sys_ni_syscall /* old "idle" system call */
More then 10 syscalls are already history - and it's without counting some syscalls with non-100%-compatible implementation!
Some applications? You do not need any serious compatibility for this: empty shell script works for all known UNIX-like systems - you can even rename it to .bat and run unmodified under Windows !
Yet I do not see this like such a big problem: there are no such a thing as 100% compatibility! And most obsoleted syscalls are really... obsoleted and not used by contemporary programs. And yes, usually old interface is kept around for a long-long time. Yet... just this week all sysadmins got the warning to prepare to throw away perfectly good userspace applications. Why ? Support for that code is too hard, it's obsoleted for a few years, so it's time to stop bothering. You just can not keep old interfaces forever.
It's way better to have no support for "old USB drivers" model (like Linux does) then buggy support for "old USB drivers" (like Windows does) and I'm pretty sure Sun engeeners spend a lot of time trying to support old binary interfaces - work with no real benefits in open-source world, where driver can always be adopted to new API.
Rebuttal by a Linux kernel developer
Posted Sep 24, 2004 23:05 UTC (Fri) by hch (guest, #5625)
[Link]
check your copy of the linux 1.0 sources, and you'll see they weren't implemented there either ;-)
Rebuttal by a Linux kernel developer
Posted Sep 25, 2004 11:10 UTC (Sat) by nix (subscriber, #2304)
[Link]
i.e., it's an `old placeholder' for something that's not planned to be implemented anymore, not a placeholder for an old syscall that is no longer implemented.
Gotta love English; ambiguities *everywhere*.
Rebuttal by a Linux kernel developer
Posted Sep 26, 2004 13:39 UTC (Sun) by mbp (guest, #2737)
[Link]
ipchains and ipfwadm are not "userspace applications". They are interfaces for configuring the kernel; as the kernel changes so do the interfaces for configuring it.
An application is something like vi or netscape or (heh) WordPerfect, run by users rather than administrators. As you say, there are some kernel interfaces which change, but in general they are not the application interfaces.
Rebuttal by a Linux kernel developer
Posted Sep 25, 2004 14:20 UTC (Sat) by hppnq (subscriber, #14462)
[Link]
Here is Mr Schrock's answer to your rebuttal, just for completeness' sake. It is not really worth reading, just a lot of misinterpretation. He also describes his view on the GPL, on the same page. It shows that he doesn't understand the first thing about the GPL and the Open Source community.
Round 2 by a Linux kernel developer
Posted Sep 26, 2004 16:50 UTC (Sun) by gregkh (subscriber, #8)
[Link]
Thanks for letting me know. And here is my response.
Round 2 by a Linux kernel developer
Posted Sep 26, 2004 21:47 UTC (Sun) by hppnq (subscriber, #14462)
[Link]
Thanks Greg, for a very polite and to the point response -- I thought Eric's piece was, again, deliberately inflammatory, even though he did have a couple of valid points.
I'm looking forward to your article on binary compatibility. ;-)
Round 2 by a Linux kernel developer
Posted Sep 27, 2004 1:38 UTC (Mon) by Tao (guest, #24985)
[Link]
hppnq,
Do you understand the words "deliberately inflammatory" and "troll"?
Tao
Round 2 by a Linux kernel developer
Posted Sep 27, 2004 6:57 UTC (Mon) by hppnq (subscriber, #14462)
[Link]