Solaris vs Linux debate between Eric Schrock and Greg K-H

Wow. There's an interesting debate going on between our Eric Schrock and Greg K-H on different philosophies of Solaris and Linux.

Eric Schrock's first post:
http://blogs.sun.com/roller/page/eschrock/20040924#gpl_clarifications

And Greg K-H's rebuttal:
http://www.kroah.com/log/2004/09/23/#2004_09_23_sun_rebuttal

Then Eric's rebuttal of the rebuttal:
http://blogs.sun.com/roller/page/eschrock/20040924#rebutting_a_rebuttal

Eric's last post is very good, so I don't have much to add except for one thing. From Greg's rebuttal:
 Here's why the Linux kernel does not have binary driver
 compatibility, and why it never will:

    ...
    \* compiler versions and kernel options. If you
    select something as simple as CONFIG_SMP, that means that core
    kernel structures will be different sizes, and locks will either
    be enabled, or compiled away into nothing. So, if you wanted to
    ship a binary driver, you would have to build your driver for
    that option enabled, and disabled. Now combine that with the
    zillion different kernel options that are around that change the
    way structures are sized and built, and you have a huge number of
    binary drivers that you need to ship. Combine that with the
    different versions of gcc which align things differently (and
    turn on some kernel options themselves, based on different
    features available in the compiler) and there's no way you can
    successfully ship a binary kernel driver that will work for all
    users. It's just an impossible dream of people who do not
    understand the technology.
There you have it. A binary driver compatibility is "an impossible dream of people who do not understand the technology". Yikes. So all those commercial unix vendors (or even Microsoft) who provide the binary compatible driver are idiots who do not understand the technology.
Also, as a compiler writer, it's mystifying, to say the least, that he blames compiler versions for structure size or alignment changes. If you have a proper application binary interface which defines the structure layout, no matter what compiler you use, they won't change. If they do, then the compiler has just broken the ABI. If I didn't know better, I would have thought gcc doesn't even provide a proper and stable ABI that it adheres to - it does. So don't blame it on gcc - linux's binary driver (non-)compatiblity issue has nothing to do with gcc.
Comments:

Happy Chooseok! (\^\^)

Posted by Rashper on September 27, 2004 at 01:28 AM PDT #

Post a Comment:
Comments are closed for this entry.
About

seongbae

Search

Archives
« April 2014
SunMonTueWedThuFriSat
  
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today