Dave,

Any driver that uses *any* kernel symbol not wrappered by LiS (and there
are lots to choose from) will not be binary compatible across kernel
builds regardless of what LiS does or doesn't do.  Those wanting to release
a single driver binary could distribute GPL'ed shim source along with the
binary ala the Nvidia drivers.  The user compiles the GPL'ed shim against
the built kernel and exports symbols to the driver.  The shim can use 2.4
makefile rules or 2.6 kbuild for compatibility.  Binary shims for popular
distro kernels can be released in distro packages.

Now, this is not different in approach to the wrappers that are included
with LiS; however, the shim need only contain those symbols needed by the
driver rather than attempt to wrapper every kernel symbol known to man
across every kernel version or distro hack.  Otherwise, you will always
get a request for an lis_foo or an lis_bar function that is not included
in osif, but, then, I suppose that *is* the current situation, isn't it?

See the drivers released by Nvidia (the shim code is open source) for a
straightforward approach to accomodating the lack of a kernel abi.

I don't care that much, all our code is released as source.  Binary packages
are only for convenience.  Releasinng as source on GNU platforms will always
be easier than releasing as binary.

--brian

On Tue, 08 Jun 2004, Dave Grothe wrote:

> 
>    At 04:12 PM 6/8/2004, Brian F. G. Bidulock wrote:
> 
>      John,
>      Gee,  just  a  kernel  compiled with a different version of the gcc
>      compiler than
>      driver  modules  causes  a  binary  incompatibility.  Also, distros
>      always hack
>      their kernels.  I don't know of one that uses a stock kernel (maybe
>      Debian?).
>      LiS drivers need to be compiled for each kernel binary supported.
>      I don't see where SuSE has introduced anything much different here.
> 
>    Only  that  it  is  going  to  cause driver writers to recompile their
>    STREAMS driver code with register passing so as to be able to call the
>    LiS  functions compiled with register passing so as to be able to call
>    the kernel functions compiled with register passing.
>    Except  for this kernel distribution "feature" STREAMS drivers did not
>    have  to  be  compiled/maintained for different versions of the kernel
>    under a wide variety of kernel build options.
>    Am I the only one who cares about this?
>    -- Dave

-- 
Brian F. G. Bidulock    � The reasonable man adapts himself to the �
[EMAIL PROTECTED]    � world; the unreasonable one persists in  �
http://www.openss7.org/ � trying  to adapt the  world  to himself. �
                        � Therefore  all  progress  depends on the �
                        � unreasonable man. -- George Bernard Shaw �
_______________________________________________
Linux-streams mailing list
[EMAIL PROTECTED]
http://gsyc.escet.urjc.es/mailman/listinfo/linux-streams

Reply via email to