RE: Binary drivers

Bret Indrelee (bindrele@sbs.com)
Thu, 9 Dec 1999 10:05:13 -0600


Brandon S. Allbery KF8NH [mailto:allbery@kf8nh.apk.net] wrote:
> In message
> <Pine.GSO.4.10.9912082036070.373-100000@weyl.math.psu.edu>,
> Alexande
> r Viro writes:
> +-----
> | was. FPOS lingered around until _NOW_. Killed in
> 2.3.30-pre7. Should it be
> | left around forever? I don't think so. Sorry. If it means
> recompile - so
> | be it.
> +--->8
>
> My point was that a recompile is fine. Breaking the *source*
> interface is
> problematic. (For those who fear that source compatibility
> can lead to
> binary compatibility and dislike the latter: you can make
> source-compatible
> changes that break binary conpatibility, the most obvious
> being rearranging
> structure elements.)

Which breaks source compatibility as well. If you have something like:

struct vmoperations_struct btp_vm_ops = {
bt_vmopen, bt_vmclose, NULL, NULL, NULL, NULL, bt_vmnopage, NULL, NULL,
NULL };

Change the order of elements so that the nopage operator is the third
element rather than the 7th element and the source breaks. Hopefully you had
complete prototypes and the types were different in some way so that the
compiler can detect the problem.

In any case, you broke both the source and binary.

> The main thing I draw from your example is that nobody
> garbage-collected
> smap in a timely fashion. Announce the old interface's
> deprecation in the
> (stable) release where the new interface first shows up, and
> then *remove*
> it at the next major release.

I think you mean remove it in the next development release. If it was in 2.2
and is obsolete, you want to remove it in 2.3. It is always the odd releases
of Linux that are supposed to break things.

-Bret

-------------------------------------------------------------
SBS Technologies, Connectivity Products
... solutions for real-time connectivity

Bret Indrelee, Engineer
SBS Technologies, Inc., Connectivity Products
1284 Corporate Center Drive, St. Paul MN 55121
Direct: (651) 905-4731
Main: (651) 905-4700 Fax: (651) 905-4701
E-mail: bindrelee@sbs-cp.com http://www.sbs.com
-------------------------------------------------------------

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/