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
