Re: OSF/1 shared libraries

Andy Riebs (riebs@amt.tay1.dec.com)
Wed, 15 Nov 1995 10:02:17 -0500 (EST)


[[ The following is strictly personal opinion. It is _not_ Digital's
position, nor even the position of the people with whom I meet to
discuss Alpha Linux every Tuesday morning.
]]

The problem with doing OSF-compatible shared libraries is that Alpha
Linux would need a set of tools to manage them that are unique in the
Linux world.

To keep Linux from becoming an interesting but irrelevant footnote in
computer lore (like minix), we must do what no other *X implementation
has done: provide the same software platform across multiple hardware
architectures. Not just the posix api, but the same system management
tools, the same user interfaces, the same file system and system file
formats, and so on.

To that end, we (in Digital's Linux team) will be working to get ELF
support into the gcc toolset so that Alpha Linux can follow the lead
of the rest of the Linux community in moving to ELF shared library
support.

--------------
Tangential thoughts: compatibility of Linux and Digital UNIX binaries

There are two reasons to want binary compatibility between Alpha Linux
and Digital Unix.

1. To jump-start the Alpha Linux port

This, I presume, is the reason that Linus started this way.
For statically linked binaries, it was a _relatively_ easy way
to go.

This argument is much more difficult for shared libraries,
since a considerable amount of reverse engineering and
re-engineering is required to complete the shared library
support.

2. To encourage software vendors to make their products available on
both systems

This is a desirable end. However, another alternative exists:
teach Digital Unix to handle Linux binaries. DU already has
BSD and SysV personalities; the technology to add Linux
support is there.

This one is a Digital concern, more than a concern of the
Linux community. The onus should be on Digital to make it
happen.

[[ For the complete text of Digital's endorsement of this note,
execute the following command on a Linux or Linux-compatible system:

cat /dev/null
]]

---
Andy Riebs, Engineering,  dtn 227-4044   | Digital Semiconductor
"Opinions are my own, not my employer's" | riebs@amt.tay1.dec.com
http://www.novalink.com/freeport-express | Sun to Alpha Binary Translator
http://www.azstarnet.com/~axplinux/      | Alpha Linux