Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

What is /usr/lib/libots.a for?

2 views
Skip to first unread message

Carsten Hammer

unread,
Nov 5, 1996, 3:00:00 AM11/5/96
to

Hi,
I recently had some changes in a software i wrote and now have to link
the ots lib. The problem is that there seems to be no information about
what this lib does and why i have to link it. The manual pages contain no
hint and the only way to find out that i have to link with it
was to do a nm -A /usr/lib/lib*.a|grep OtsDivide64Unsigned
and look what libs were needed.
This seems to be no professional programming, is it?:)
Any hint whats going on?
ciao
Carsten

--
Carsten Hammer Schwindstr. 7 33615 Bielefeld
cha...@POST.uni-bielefeld.de
cha...@d2hammer.physik.uni-bielefeld.de

Kent Glossop

unread,
Nov 11, 1996, 3:00:00 AM11/11/96
to Carsten Hammer

RE: Ots* routines on Digital Unix

The Ots routines (e.g. OtsDivide64Unsigned, OtsMove, etc.) are low-level
support routines for code generated by GEM-based compilers that perform
operations like division, block move and other "primitive" byte string
operations, bitfield insertion/extraction, 128 bit floating point
support routines, etc., that you might find in a CISC instruction set,
but that are either library routines or expanded sequences of in-line
code on a RISC machine. (The Ots routines are quite highly tailored,
and in many cases were written by compiler developers, since they were/
are the ones that have to determine appropriate tradeoffs in cost
between
in-line cases and cases handled by the routines, and are often the ones
most aware of the relevant techniques and tradeoffs.)

Prior to Digital Unix 4.0, these routines were package in a single
library (libots) which wasn't linked in by default for C programs,
since the pre-Unix 4.0 C compiler wasn't a GEM-based compiler and
didn't use/need those routines. Starting with Digital Unix V4.0,
the default C compiler is GEM-based (formerly invoked cc -migrate),
and as a result, the Ots routines used by the GEM-based C compiler
have moved into libc, while some sets of other routines (e.g. bitstring
and 16 bit character string) that are only used by other languages
remain in libots.

--
Kent Glossop (work) glo...@zko.dec.com
GEM compiler system (personal) kglo...@ix.netcom.com
Digital Equipment Corporation

0 new messages