Re: How to develop a random number generation device



On Wed, 12 Sep 2007 23:46:24 +0200, David Brown wrote:

If you try to run a 5-year old Linux binary on a current distribution,
you'll probably find that a lot of the interfaces on which it depends have
either disappeared or have changed in an incompatible manner. Lack of a
stable ABI is a simple fact of life on Linux.

Binary compatibility for the user-level API is extremely important for
Linux, and the API is very stable - new API's and system calls are
added, but existing ones are seldom changed or removed, and never
without very good reason.

That's only really true for "core" libraries, e.g. libc. Once you get up
to higher levels (e.g. X and GUI toolkits), the ABIs can change quite
frequently.

Anything which uses C++ tends to be especially fragile, partly due to
extensive use of structures (objects), partly due to the amount of inlined
code (which often relies upon structure layout and won't change along with
non-inlined functions in the library).

Most five year old Linux binaries will run
fine on the same architecture as they were build for (assuming you have
the right libraries)

IOW, a five year old binary will run on a five year old OS distribution.
If you want to run it on a newer distribution, you need to start chasing
down all of the five-years-ago versions of the libraries that it uses.

- the only API calls that have changed are very
seldom used.

It isn't so much the syntax of the calls (even a fairly slack programmer
can figure out that changing the argument list will change the API), but
the structures which they use (and, less frequently, their semantics).

.



Relevant Pages

  • Re: How to develop a random number generation device
    ... Binary compatibility for the user-level API is extremely important for Linux, and the API is very stable - new API's and system calls are added, but existing ones are seldom changed or removed, and never without very good reason. ... But more generally, the situation is fairly similar with these sorts of libraries - they get extended, but there are not often major incompatible changes. ...
    (sci.electronics.design)
  • Re: Is there a payoff for using Large File API?
    ... one use xxx64() functions in all cases rather than considering either ... to use 32-bit or 64-bit API. ... Binary compatibility. ... with 32-bit libraries that use the old 32-bit API. ...
    (comp.unix.solaris)
  • anyone? algos for calculating good contact info for solids
    ... physics engine for a 3d engine project of mine (some things have not been ... it uses a somewhat opengl-influenced api. ... begin/end pairs, properties, vertices, and normals is used. ... an odity of mine to try to seperate these from "utility" libraries. ...
    (comp.graphics.algorithms)
  • Re: Library functions vs System calls
    ... portable api to the set of system functions you are interested in"). ... the libraries provide the platform to the application. ... It's none of ones business. ... not to the support for the API. ...
    (comp.os.linux.development.apps)
  • Re: Library functions vs System calls
    ... portable api to the set of system functions you are interested in"). ... the libraries provide the platform to the application. ... It's none of ones business. ... not to the support for the API. ...
    (comp.os.linux.development.system)